hashlib模块对文件或字符串进行加密处理,加密过程不可逆。常用方法有md5()和sha256(),其余还有sha1()、sha224()、sha384()、sha512()等方法。
以md5()的使用为例讲解用法
import hashlib h=hashlib.md5() h.update('admin'.encode('utf8')) #将admin通过utf8编码为字节,再进行加密 print(h.hexdigest()) #获取加密后的字符串
上述单纯的加密算法很容易被暴力破解,为防止此情况发生,可在加密时加入“杂质”,即在hashlib.md5()中加入参数作为杂质
import hashlib h=hashlib.md5('hello'.encode('utf8')) #加入杂质hello h.update('admin'.encode('utf8'))print(h.hexdigest())
需要注意的是,下面这个例子,先对admin加密,再对root加密,最后的结果实际是对admin和root的拼接、即adminroot做的加密
import hashlib h=hashlib.md5() h.update('admin'.encode('utf8')) print(h.hexdigest()) h.update('root'.encode('utf8')) print(h.hexdigest()) #4b3626865dc6d5cfe1c60b855e68634a
可进行验证
import hashlib h=hashlib.md5() h.update('root'.encode('utf8')) print(h.hexdigest()) #63a9f0ea7bb98050796b649e85481845
import hashlib h=hashlib.md5() h.update('adminroot'.encode('utf8')) print(h.hexdigest()) #4b3626865dc6d5cfe1c60b855e68634a