python 摘要算法

2018-09-01 05:54:26来源:博客园 阅读 ()

新老客户大回馈,云服务器低至5折

一、概述:

  摘要算法主要特征是加密过程不需要密钥,并且加密的数据无法解密,只有输入相同的明文数据经过相同的摘要算法才能得到相同的密文。摘要算法主要应用在“数字签名”领域。接下来会讲述RSA公司的MD5算法和SHA-1算法。

二、原理:

  通过一个函数,把任意长度的数据转换成一个长度固定的数据串(通常用16进制的字符串表示)

三、MD5算法:

  MD5算法最常见的摘要算法,生成速度快,生成结果是128位,通常用32位的16进制字符串表示。

  python中使用:

  

四、SHA-1算法:

  调用与MD5完全一样,SHA1通常是160字节,通常用40位16进制字符串表示

  Python中使用:

  

五、应用:  

  任何允许用户登录的网站都会存储用户登录的用户名和密码,那么密码一般存储的是原密码的摘要值,正确保存口令方式不是存储明文内容,而是存储口令的摘要;当用户登录时,首先计算用户输入明文口令的摘要,和数据库对比,如果一致则说明口令正确,否则一定错误。

六、注意:

  1、越安全的算法不仅越慢,而且摘要会越长

  2、有可能两个不同数据通过hashlib算法后得到了相同的摘要,因为摘要算法是将无限多的数据映射到有限的集合中。如果两个摘要数据相同,称之为碰撞。出现几率极其小。

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:Python机器学习(3)——KNN分类算法

下一篇:python TCP协议详解 三次握手四次挥手和11种状态