我们在做数据类传输产品或测试的过程中,总会听到开发说数据要加密,然后使用各种加密方式,那么希望通过本文,能够让大家对一些常见的加密方式有一些更加深入的了解,理解其中的底层逻辑。

今天介绍三种常见的加密方式:

  1. MD5加密
  2. 对称加密
  3. 非对称加密

1,MD5加密

MD5算法的原理可简要的叙述为:MD5码以512位分组来处理输入的信息,且每一分组又被划分为16个32位子分组,经过了一系列的处理后,算法的输出由四个32位分组组成,将这四个32位分组级联后将生成一个128位散列值

总体流程如下图所示,每次的运算都由前一轮的128位结果值和当前的512bit值进行运算。

MD5加密的特点:

不可逆运算

对不同的数据加密的结果是定长的16个字节(不管文件多大都一样)

对相同的数据加密,得到的结果是一样的(也就是复制)。

抗修改性 : 信息“指纹”,对原数据进行任何改动,哪怕只修改一个字节,所得到的 MD5 值都有很大区别.

弱抗碰撞 : 已知原数据和其 MD5 值,想找到一个具有相同 MD5 值的数据(即伪造数据)是非常困难的.

强抗碰撞: 想找到两个不同数据,使他们具有相同的 MD5 值,是非常困难的

MD5安全吗?

加解密尝试:https://www.cmd5.com/

2,对称加密

对称加密算法又称传统加密算法。加密和解密使用同一个密钥。

加密解密过程:明文->密钥加密->密文,密文->密钥解密->明文。

示例:
密钥:X
加密算法:每个字符+X
明文:Hello
密钥为 1时 加密结果:Ifmmp
密钥为 2时 加密结果:Jgnnq

优缺点:
算法公开,计算量小,加密速度快,加密效率高
双方使用相同的钥匙,安全性得不到保证

注意事项:
密钥的保密工作非常重要
密钥要求定期更换

经典对称加密算法有三种:

  1. DES(Data Encryption Standard):数据加密标准,速度较快,适用于加密大量数据的场合。
  2. 3DES:基于DES,对一块数据用三个不同的密钥进行三次加密,强度更高。
  3. AES(Advanced Encryption Standard):高级加密标准,目前美国国家安全局使用的,苹果的钥匙串访问采用的就AES加密。是现在公认的最安全的加密方式,是对称密钥加密中最流行的算法。

3,非对称加密RSA

对称加密算法又称现代加密算法。

非对称加密是计算机通信安全的基石,保证了加密数据不会被破解。

非对称加密算法需要两个密钥:公开密钥(publickey) 和私有密(privatekey)

公开密钥和私有密钥是一对

如果用公开密钥对数据进行加密,只有用对应的私有密钥才能解密。

如果用私有密钥对数据进行加密,只有用对应的公开密钥才能解密。

特点:
算法强度复杂,安全性依赖于算法与密钥。
加密解密速度慢。

与对称加密算法的对比:
对称加密只有一种密钥,并且是非公开的,如果要解密就得让对方知道密钥。
非对称加密有两种密钥,其中一个是公开的。

RSA应用场景:
由于RSA算法的加密解密速度要比对称算法速度慢很多,在实际应用中,通常采取:
数据本身的加密和解密使用对称加密算法(AES)。
用RSA算法加密并传输对称算法所需的密钥。

扩展:

数字签名:
http://www.ruanyifeng.com/blog/2011/08/what_is_a_digital_signature.html

写给小白的常见三种加密方式:MD5,对称非对称加密相关推荐

  1. 动词常见三种变形方式总结

    动词常见三种变形方式总结 一.动词原形 讲解:标日书上写的一类动词二类动词三类动词分别对应下面的内容. 一类动词:五段动词 二类动词:一段动词 三类动词:サ变动词:カ变动词 ① 五段动词:(一类动词) ...

  2. 常见三种存储方式DAS、NAS、SAN的架构及比较

    随着主机.磁盘.网络等技术的发展,数据存储的方式和架构也在一直不停改变,本文主要介绍目前主流的存储架构. 存储的分类 根据服务器类型分为: 封闭系统的存储(封闭系统主要指大型机) 开放系统的存储(开放 ...

  3. iOS-常见三种加密(MD5、非对称加密,对称加密)

    任何应用的开发中安全都是重中之重,在信息交互异常活跃的现在,信息加密技术显得尤为重要.在app应用开发中,我们需要对应用中的多项数据进行加密处理,从而来保证应用上线后的安全性,给用户一个安全保障. 本 ...

  4. 常见的哈希Hash算法 MD5 对称非对称加密 海明码

    2019独角兽企业重金招聘Python工程师标准>>> 参考 Link 另外,这篇文章也提到了利用Hash碰撞而产生DOS攻击的案例: http://www.cnblogs.com/ ...

  5. 一篇文章看懂三种存储方式DAS、NAS、SAN

    一.DAS.NAS.SAN在存储领域的位置 随着主机.磁盘.网络等技术的发展,数据存储的方式和架构也在一直不停改变,本文主要介绍目前主流的存储架构. 根据服务器类型分为: 封闭系统的存储(封闭系统主要 ...

  6. 五分钟教你使用vue-cli3创建项目(三种创建方式,小白入门必看)

    五分钟教你使用vue-cli3创建项目(三种创建方式,小白入门必看) 一.搭建vue环境 安装Nodejs 官网下载Nodejs,如果希望稳定的开发环境则下LTS(Long Time Support) ...

  7. Django 数据库查询优化,choices参数(数据库字段设计常见),MVC和MTV模型,多对多三种创建方式...

    数据库查询优化 orm语句的特点:惰性查询 如果仅仅只是书写了orm语句,在后面没有用到该语句所查询出来的参数,那么orm会自动识别,并不执行 举例: res = models.Book.object ...

  8. 关于ACL和NAT技术(内含PC服务器常见三种类型介绍与通配符掩码简介)

    目录 PC服务器常见三种外形介绍(硬盘尺寸相关知识普及) 一.塔式服务器 二.刀片式服务器 三.机架式服务器 四.硬盘尺寸 ACL 一.ACL概述及其组成 1.ACL的概述及技术背景 2.ACL的组成 ...

  9. Typescript常见三种函数类型

    Typescript有常见三种函数类型: 分别是普通的函数: 有可选参数的函数: 有剩余参数的函数: 普通函数 function findMan(age:number):string{return ' ...

最新文章

  1. 16 分频 32 分频是啥意思_Verilog中任意分频的实现
  2. 广告基本知识-在线广告的市场
  3. Django 3.2.5博客开发教程:基础配置
  4. 复制Java文件打印流改进版
  5. JavaScript 正则表达式相关理解
  6. 你的周末时光是什么样的?
  7. 转:RSS阅读、社会化阅读与个性化阅读
  8. Spark的ShuffleManager
  9. C++雾中风景12:聊聊C++中的Mutex,以及拯救生产力的Boost
  10. iterator adapter reverse_iterator
  11. Activiti6常见错误汇总
  12. 机器学习算法 | Python实现k-近邻算法
  13. android平板打电话,打电话上网不耽误,通话平板你需要吗?
  14. xadmin自定义页面
  15. Codeforces Round #652 div2 总结 端午节前小结
  16. 计算机组成原理 运算器实验
  17. Vivado、modelsim、VHDL错误集锦
  18. 2023海康威视的数字设计岗位笔试
  19. 风口浪尖上的NLP,究竟路在何方?
  20. Microsoft Office 2019

热门文章

  1. 斐讯w3固件下载_《极速定位,自由奔跑----斐讯W3运动手环测评》by 唐国栋 - 爱燃烧...
  2. mpeg2-ts格式解析
  3. 毕业设计-基于微信小程序的实验室仪器设备管理系统
  4. 锐捷RG-S5750交换机配置Telnet、SSH、DHCP、密码恢复、配置保存、删除配置等示例
  5. 智力竞赛抢答器的设计与调试
  6. 关于网络架构的额外知识
  7. MATLAB--数字图像处理 图像锐化(纯代码篇)
  8. 北京迅为IMX6ULL开发板 DHT11网络编程实战练习
  9. parity使用教程
  10. 3D【8】鸟类重建:Learning Category-Specific Mesh Reconstruction from Image Collections阅读笔记