Python的hashlib模块

hashlib是个专门提供hash算法的库,其支持openssl 库提供的所有算法,包括md5, sha1, sha224, sha256, sha384, sha512,使用非常简单、方便。md5经常用来做用户密码的存储。而sha1则经常用作数字签名。


1)MD5码

MD5的全称是Message-Digest Algorithm 5(信息-摘要算法)。128位长度。目前MD5是一种不可逆算法。

具有很高的安全性。它对应任何字符串都可以加密成一段唯一的固定长度的代码。


用途:

根据这种唯一性,可以计算两个文件MD5码,判断两个文件是否相同;


hashlib中MD5的常用函数:

  • md5.new([arg])

返回一个md5对象,如果给出参数,则相当于调用了update(arg)

  • md5.updte(arg)
用string参数arg更新md5对象。即将要计算arg的消息摘要值。
  • md5.digest()
返回16字节的摘要,由传给update的string生成,摘要没有ascii字符
  • md5.hexdigest()
以16进制的形式返回摘要,32位


2)SHA1

SHA1的全称是Secure Hash Algorithm(安全哈希算法) 。SHA1基于MD5,加密后的数据长度更长,

它对长度小于264的输入,产生长度为160bit的散列值。比MD5多32位。

因此,比MD5更加安全,但SHA1的运算速度就比MD5要慢了。


3)Python中hashlib用法:

Python的hashlib模块_第1张图片

(o(╯□╰)o,一直敲错,并且忘记加空格,注意第一个输出和最后一个一样的,逐次update和一次生成的效果一样)

Python的hashlib模块_第2张图片


sh1的用法类似

import hashlib

hashlib.sha1('hello sha1').hexdigest()

Python的hashlib模块_第3张图片







你可能感兴趣的:(Python)