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'