Python攻克之路-hashlib模块
hashlib模块
描述:加密模块,从明文加密成密文,主要是md5和sha
md5
In [13]: import hashlib In [14]: m=hashlib.md5() In [15]: print(m) <md5 HASH object @ 0x7f8adaacddf0> md5哈希对象
加密update
In [16]: m.update('reid') TypeError: Unicode-objects must be encoded before hashing #在py3,’reid'字符串是unicode类型,需要做一个byte字节(二进制,一堆数字)的转换 In [17]: m.update('reid'.encode('utf8')) ##update方法转换 In [18]: m.hexdigest() #digest是十进制方式,一般使用16进制方式hexdigest显示 Out[18]: '75bcad9151580b6c2b079f6d334a60ff'
再加密
In [19]: m.update('tom'.encode('utf8')) #实现是在'reid的基础上再加密 In [20]: m.hexdigest() Out[20]: '431593ebb1c5bf52af660003ea6502b6' +++
原理
In [21]: m2=hashlib.md5() In [22]: m2.update('reidtom'.encode('utf8')) In [23]: m2.hexdigest() Out[23]: '431593ebb1c5bf52af660003ea6502b6' +++
sha
In [24]: s=hashlib.sha256() In [25]: s.update('reid'.encode('utf8')) In [26]: s.hexdigest() Out[26]: '1720b5bf165cebe26e75c6c392a61a1aed38f32e44e806c502cc90894fef93fd'