python模块-hashlib模块

时间:2022-01-26 22:38:15

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