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'

  

posted @ 2018-04-02 09:03  Reid21  阅读(125)  评论(0编辑  收藏  举报