Python hashlib模块

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

In [1]: import hashlib

In [2]: a = "a test string"

In [3]: print hashlib.md5(a).hexdigest()

b1a4cf30d3f4095f0a7d2a6676bcae77

In [4]: print hashlib.sha1(a).hexdigest()

2da75da5c85478df42df0f917700241ed282f599

In [5]: print hashlib.sha224(a).hexdigest()

fb29c0daf4a995d2caad4cc5150a6977f871ac34c1c9c97d740d90d0

In [6]: print hashlib.sha256(a).hexdigest()

b830543dc5d1466110538736d35c37cc61d32076a69de65c42913dfbb1961f46

In [7]: print hashlib.sha384(a).hexdigest()

1b7c9d326961a90d6fe5e168b7339852a6238af953e5cad5501d140167bdfe8ebd82d7df5f7915ebad3e2f89d977357f

In [8]: print hashlib.sha512(a).hexdigest()

fd308aadbf52384412c4ba3e2dfe3551e0faa2e7455898dae04fda4f238569e3889c56cbd4d120cf69f81a5f06456f327c19100eaed2e590888342f1ce3e0261

对以下代码的说明:
1.首先从python直接导入hashlib模块
2.调用hashlib里的md5()生成一个md5 hash对象
3.生成hash对象后,就可以用update方法对字符串进行md5加密的更新处理
4.继续调用update方法会在前面加密的基础上更新加密
5.加密后的二进制结果
6.十六进制结果 

In [11]: m = hashlib.md5()

In [12]: m.update("Nobody inspects")

In [13]: m.digest()

Out[13]: '>\xf7)\xcc\xf0\xccV\x07\x9c\xa5F\xd5\x80\x83\xdc\x12'

In [14]: m.hexdigest()

Out[14]: '3ef729ccf0cc56079ca546d58083dc12'

In [15]: m.update(" the spammish repetition")

In [16]: m.hexdigest()

Out[16]: 'bb649c83dd1ea5c9d9dec9a18df0ffe9'

In [17]: m.digest()

Out[17]: '\xbbd\x9c\x83\xdd\x1e\xa5\xc9\xd9\xde\xc9\xa1\x8d\xf0\xff\xe9'

如果只需对一条字符串进行加密处理,也可以用一条语句的方式:

In [19]: print hashlib.new("md5", "Nobody inspects the spammish repetition").hexdigest()

bb649c83dd1ea5c9d9dec9a18df0ffe9


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值