技术18期:数据安全之加密与实现
前言:大数据时代,每个人的生活中都不存在所谓的绝对“秘密”,通过网络上的数据信息可以分析出一个人生活的各种痕迹。因此,保障大数据信息安全至关重要。
本文主要介绍了散列算法、对称加密算法和非对称加密算法的概念和代码实现。
数据安全的重要性
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期:数据安全之加密与实现相关推荐
- java md5加密解密_技术09期:数据安全之加密与实现
前言:大数据时代,每个人的生活中都不存在所谓的绝对"秘密",通过网络上的数据信息可以分析出一个人生活的各种痕迹.因此,保障大数据信息安全至关重要. 本文主要介绍了散列算法.对称加密 ...
- 【OCM第18期开班】第18期11g OCM培训将于8月23日,晚20点在腾讯课堂开班,第1场考试免费培训!!!...
Oracle 11g ocm第18期将于8月23号晚上20点开班,第1场考试免费培训,包过,题库100%覆盖,提供和考试环境一样的练习和模拟环境. Oracle 11g OCM免费上课培训网上报名连 ...
- 《强化学习周刊》第18期:ICML-2021强化学习的最新研究与应用
No.18 智源社区 强化学习组 强 化 学 习 研究 观点 资源 活动 关于周刊 强化学习作为人工智能领域研究热点之一,其研究进展与成果也引发了众多关注.并且诸多研究成果发表于ICML-2021学 ...
- 科技视界杂志科技视界杂志社科技视界编辑部2022年第18期目录
科技视界杂志科技视界杂志社科技视界编辑部2022年第18期目录 医学科普 耳鸣耳聋,孰先孰后? 孙珊; 1-4 科技广角 双碳目标下生物质能发展现状及应用路径研究 梁志松;何楠;周旺; ...
- 双18期|CSS揭秘之简写属性
theme: channing-cyan highlight: a11y-dark 双18期|CSS揭秘之简写属性 tips:每个技术点都值得优学优写:18期 一.写在前面 css 简写属性了解吗?前 ...
- 中学教学参考杂志中学教学参考编辑部中学教学参考杂志社2022年第18期目录
中学教学参考杂志中学教学参考编辑部中学教学参考杂志社2022年第18期目录 专题论析 高中物理拔尖人才培养研究--以南宁市第三中学为例 黄文斌;张井卫; 1-4 语文 让学生大胆提出& ...
- 中国航班杂志中国航班杂志社中国航班编辑部2022年第18期目录
中国航班杂志中国航班杂志社中国航班编辑部2022年第18期目录 领航中国 飞机驾驶舱资源管理对飞行安全的影响及其重要性 张亮3-6 航空发动机高振动与喘振的判断和处置 向导7-10 德宏芒市机场规划历 ...
- 创新创业理论研究与实践杂志社创新创业理论研究与实践编辑部2022年第18期目录
创新创业理论研究与实践杂志社创新创业理论研究与实践编辑部2022年第18期目录 理论研究<创新创业理论研究与实践>投稿:cn7kantougao@163.com "四维一 ...
- 第18期基于SpringBoot仓库管理系统
第18期基于SpringBoot实现的仓库管理系统 大家好,小辰今天给大家介绍一个基于SpringBoot+ Mybatis+ thymeleaf实现的仓库管理系统,演示视频文章末尾公众号对号查询观看 ...
最新文章
- Tensorflow name_scope和variable_scope的用法
- 荔枝FM 字体文件 IconFontTextView
- 欢乐拼图发红包微信小程序开发过程实录成品展示
- 杭州(含嘉兴,绍兴,金华,湖州,义乌)Uber优步司机奖励政策(1月18日~1月24日)...
- python3单例-python3如何运行文件夹python单例模式
- 0、1、2范数与损失函数正则化
- 申通快递:1月快递服务业务收入25.65亿元 同比增长21.27%
- 大数据_MapperReduce_Hbase的优化_RowKey设计原则---Hbase工作笔记0028
- android 在指定位置添加布局,Android 如何动态添加 View 并显示在指定位置。
- 第三次大作业-作业准备
- php 怎样让 键 值 反转,PHP 控制和反转
- maven+springMvc+velocity
- 前端能改变session吗_编程真的能改变思维方式吗?「渡一教育」
- caffe的Matlab接口的使用方法
- 数学建模方法——斯皮尔曼相关系数及其显著性检验 (Spearman’s correlation coefficient for ranked data)
- WinDbg 入门教程
- VMware系列序列号
- CARBON X1 安装 chrome os
- 美国计算机专业工资排名,美国大学薪酬概况及毕业生薪资排名前50的学校
- 80004005错误代码_80004005错误代码怎么回事_安装软件错误代码0×80004005如何解决...
热门文章
- 为什么说Transformer就是图神经网络?
- 《评人工智能如何走向新阶段》后记(再续12)
- 阿里飞天大数据飞天AI平台“双生”系统正式发布,9大全新数据产品集中亮相
- 打造 AI Beings,和微信合作…第七代微软小冰的成长之路
- 漫画讲述人工智能简史
- 资源 | 想用Python学机器学习?Google大神替你写好了所有的编程示范代码
- 科技公司狂挖高校AI学者:涸泽而渔还是产学双赢
- Spring Boot + Vue 如此强大?
- MySQL数据库时间类型datetime、bigint、timestamp的查询效率比较
- 从bitmap到布隆过滤器,再到高并发缓存设计策略