前言:大数据时代,每个人的生活中都不存在所谓的绝对“秘密”,通过网络上的数据信息可以分析出一个人生活的各种痕迹。因此,保障大数据信息安全至关重要。

本文主要介绍了散列算法、对称加密算法非对称加密算法的概念和代码实现。

数据安全的重要性

1. 数据保密性

数据只能由授权实体存取、识别,放置非授权泄露,即数据不能被未授权的第三方使用 。

2. 数据完整性

防止非授权实体对数据进行非法篡改,即数据在传输过长中不能被未授权方修改。

3. 数据可用性

数据对于授权实体是可用的,有效的。

什么是数据加密?

数据加密的核心是密码学,指通过加密算法和加密密钥将明文的文件或者数据转变为密文,而解密则是通过解密算法和解密密钥将密文恢复为明文。

通过对数据的加密、解密有效地提高企业应用的安全性,数据加密可以在企业应用中的多个环节实现。比如:可对机要数据进行加密后再存储,对用户的口令加密后存储的等。

加密算法介绍

加密算法一般划分为:对称加密非对称加密算法;除此之外还有一种是散列(Hash)算法。严格上讲:HASH 算法是一种消息摘要算法,不是一种加密算法,但由于其单向运算,具有一定的不可逆性,成为加密算法中的一个构成部分,完整的加密机制不能仅依赖 HASH 算法。

三种类别的加密算法详见下表:

应用建议:在实际的操作过程中,我们通常采用的方式是采用非对称加密算法管理对称算法的密钥,然后用对称加密算法加密数据,这样我们就集成了两类加密算法的优点,既实现了加密速度快的优点,又实现了安全方便管理密钥的优点。

常见算法速度、安全性等详见下表:

加密算法消息通信过程

1、Hash算法

2、对称加密算法

3、非对称加密算法

加密实现

一、Hash算法

1、java自带的MessageDigest实现加密,实现步骤如下:

1) 获取指定摘要算法,参数可以输入MD5、SHA等

MessageDigest md=MessageDigest.getInstance("MD5");

2) 计算md5函数

md.update(byte str);或md.update(byte[] str);

3) 获取消息摘要结果

md.digest()

 代码示例如下:

2、java自带的Mac实现加密,实现步骤如下:

1) 产生密钥

algorithm算法,比如:HmacMD5、HmacSHA1

SecretKey secretKey =KeyGenerator.getInstance(algorithm).generateKey();

2) 实列MAC

Mac mac = Mac.getInstance(secretKey.getAlgorithm());

3) 执行摘要

mac.doFinal(pwd.getBytes());

代码示例如下:

二、对称加密算法

1、消息传递模型

消息传递模型步骤如下:

2、java自带的Cipher实现

实现步骤如下:

(1) 密钥构建,代码示例如下:

(2)生成密钥,代码示例如下:

(3) 加密实现,实现步骤如下:

1) 实例化Cipher

2) 初始化

3) 设置加密模式

4) 执行操作

代码示例如下:

(4)解密实现,实现步骤如下:

1) 实例化Cipher

2) 初始化

3) 设置解密模式

4) 执行操作

代码示例如下:

三、非对称加密算法

1、消息传递模型步骤如下:

2、java自带的Cipher实现

实现步骤如下:

(1) 公钥、私钥,密钥对构建,代码示例如下:

(2)私钥加密,加密步骤如下:

1) 获取私钥

2) 生成私钥

3) 实例化Cipher

4) 初始化

5) 设置加密模式

6) 执行操作

代码示例如下:

(3)私钥解密解密步骤如下:

1) 获取私钥

2) 生成私钥

3) 实例化Cipher

4) 初始化

5) 设置解密模式

6) 执行操作

代码示例如下:

(4)公钥加密,加密步骤如下:

1) 获取公钥

2) 生成公钥

3) 实例化Cipher

4) 初始化

5) 设置加密模式

6) 执行操作

代码示例如下:

(5)公钥解密,解密步骤如下:

1) 获取公钥

2) 生成公钥

3) 实例化Cipher

4) 初始化

5) 设置解密模式

6) 执行操作

代码示例如下:

总结:加密重要吗?当然,它们是一个额外的保护层。

- THE END -

文章内容仅代表作者个人观点

作者:陈鸿姣

编辑:詹思璇

想了解更多关于人工智能的资讯

别忘了关注普适极客

技术18期:数据安全之加密与实现相关推荐

  1. java md5加密解密_技术09期:数据安全之加密与实现

    前言:大数据时代,每个人的生活中都不存在所谓的绝对"秘密",通过网络上的数据信息可以分析出一个人生活的各种痕迹.因此,保障大数据信息安全至关重要. 本文主要介绍了散列算法.对称加密 ...

  2. 【OCM第18期开班】第18期11g OCM培训将于8月23日,晚20点在腾讯课堂开班,第1场考试免费培训!!!...

    Oracle 11g ocm第18期将于8月23号晚上20点开班,第1场考试免费培训,包过,题库100%覆盖,提供和考试环境一样的练习和模拟环境. Oracle  11g OCM免费上课培训网上报名连 ...

  3. 《强化学习周刊》第18期:ICML-2021强化学习的最新研究与应用

    No.18 智源社区 强化学习组 强 化 学  习 研究 观点 资源 活动 关于周刊 强化学习作为人工智能领域研究热点之一,其研究进展与成果也引发了众多关注.并且诸多研究成果发表于ICML-2021学 ...

  4. 科技视界杂志科技视界杂志社科技视界编辑部2022年第18期目录

    科技视界杂志科技视界杂志社科技视界编辑部2022年第18期目录 医学科普     耳鸣耳聋,孰先孰后? 孙珊; 1-4 科技广角     双碳目标下生物质能发展现状及应用路径研究 梁志松;何楠;周旺; ...

  5. 双18期|CSS揭秘之简写属性

    theme: channing-cyan highlight: a11y-dark 双18期|CSS揭秘之简写属性 tips:每个技术点都值得优学优写:18期 一.写在前面 css 简写属性了解吗?前 ...

  6. 中学教学参考杂志中学教学参考编辑部中学教学参考杂志社2022年第18期目录

    中学教学参考杂志中学教学参考编辑部中学教学参考杂志社2022年第18期目录 专题论析     高中物理拔尖人才培养研究--以南宁市第三中学为例 黄文斌;张井卫; 1-4 语文     让学生大胆提出& ...

  7. 中国航班杂志中国航班杂志社中国航班编辑部2022年第18期目录

    中国航班杂志中国航班杂志社中国航班编辑部2022年第18期目录 领航中国 飞机驾驶舱资源管理对飞行安全的影响及其重要性 张亮3-6 航空发动机高振动与喘振的判断和处置 向导7-10 德宏芒市机场规划历 ...

  8. 创新创业理论研究与实践杂志社创新创业理论研究与实践编辑部2022年第18期目录

    创新创业理论研究与实践杂志社创新创业理论研究与实践编辑部2022年第18期目录 理论研究<创新创业理论研究与实践>投稿:cn7kantougao@163.com     "四维一 ...

  9. 第18期基于SpringBoot仓库管理系统

    第18期基于SpringBoot实现的仓库管理系统 大家好,小辰今天给大家介绍一个基于SpringBoot+ Mybatis+ thymeleaf实现的仓库管理系统,演示视频文章末尾公众号对号查询观看 ...

最新文章

  1. Tensorflow name_scope和variable_scope的用法
  2. 荔枝FM 字体文件 IconFontTextView
  3. 欢乐拼图发红包微信小程序开发过程实录成品展示
  4. 杭州(含嘉兴,绍兴,金华,湖州,义乌)Uber优步司机奖励政策(1月18日~1月24日)...
  5. python3单例-python3如何运行文件夹python单例模式
  6. 0、1、2范数与损失函数正则化
  7. 申通快递:1月快递服务业务收入25.65亿元 同比增长21.27%
  8. 大数据_MapperReduce_Hbase的优化_RowKey设计原则---Hbase工作笔记0028
  9. android 在指定位置添加布局,Android 如何动态添加 View 并显示在指定位置。
  10. 第三次大作业-作业准备
  11. php 怎样让 键 值 反转,PHP 控制和反转
  12. maven+springMvc+velocity
  13. 前端能改变session吗_编程真的能改变思维方式吗?「渡一教育」
  14. caffe的Matlab接口的使用方法
  15. 数学建模方法——斯皮尔曼相关系数及其显著性检验 (Spearman’s correlation coefficient for ranked data)
  16. WinDbg 入门教程
  17. VMware系列序列号
  18. CARBON X1 安装 chrome os
  19. 美国计算机专业工资排名,美国大学薪酬概况及毕业生薪资排名前50的学校
  20. 80004005错误代码_80004005错误代码怎么回事_安装软件错误代码0×80004005如何解决...

热门文章

  1. 为什么说Transformer就是图神经网络?
  2. 《评人工智能如何走向新阶段》后记(再续12)
  3. 阿里飞天大数据飞天AI平台“双生”系统正式发布,9大全新数据产品集中亮相
  4. 打造 AI Beings,和微信合作…第七代微软小冰的成长之路
  5. 漫画讲述人工智能简史
  6. 资源 | 想用Python学机器学习?Google大神替你写好了所有的编程示范代码
  7. 科技公司狂挖高校AI学者:涸泽而渔还是产学双赢
  8. Spring Boot + Vue 如此强大?
  9. MySQL数据库时间类型datetime、bigint、timestamp的查询效率比较
  10. 从bitmap到布隆过滤器,再到高并发缓存设计策略