md5模块(Python内置模块)和hashlib模块

MD5模块用于产生消息摘要,康用来判断文件是否相同。python

python的md5模块使用很是简单,包括如下几个函数:算法

  • md5.new([arg])
    • 返回一个md5对象,若是给出参数,则至关于调用了update(arg)
  • md5.updte(arg)
    • 用string参数arg更新md5对象。即将要计算arg的消息摘要值。
  • md5.digest()
    • 返回16字节的摘要,由传给update的string生成,摘要没有ascii字符
  • md5.hexdigest()
    • 以16进制的形式返回摘要,32位

注意:若是m.update(a)以后在 m.update(b),那么就至关于m.update(a+b)app

步骤:函数

0一、导入md5模块加密

import md5

0二、获得一个新的md5对象spa

m = md5.new()

0三、用一个字符串更新md5对象.net

s = "hahaha"
m.update(s)

0四、获得该字符串(这里是s)的摘要3d

print m.degest()

0五、或者获得16进制的摘要(这个就是咱们想要的)对象

print m.hexdigest()

这会获得一个字符串,长度为32位blog

 


要计算MD5值,不只能够使用md5模块,还能够使用hashlib模块。hashlib是个专门提供hash算法的库,如今里面包括md5, sha1, sha224, sha256, sha384, sha512,使用很是简单、方便。md5常常用来作用户密码的存储。而sha1则常常用做数字签名。

下面主要记录下其中的md5加密方式

[python]  view plain copy print ?
  1. >>> import hashlib  
  2.   
  3. >>> m = hashlib.md5()  
  4.   
  5. >>> m.update("Nobody inspects")  
  6.   
  7. >>> m.update(" the spammish repetition")  
  8.   
  9. >>> m.digest()  
  10.   
  11. '\xbbd\x9c\x83\xdd\x1e\xa5\xc9\xd9\xde\xc9\xa1\x8d\xf0\xff\xe9'  
  12.   
  13. >>> m.hexdigest()  
  14.   
  15. 'bb649c83dd1ea5c9d9dec9a18df0ffe9'  

 

对以上代码的说明:

1.首先从python直接导入hashlib模块

2.调用hashlib里的md5()生成一个md5 hash对象

3.生成hash对象后,就能够用update方法对字符串进行md5加密的更新处理

4.继续调用update方法会在前面加密的基础上更新加密

5.加密后的二进制结果

6.十六进制结果

相关文章
相关标签/搜索