hashlib模块
hash是什么?
hash又叫哈希,是一种算法,用于文件密码保密,该算法通过传入的值然后通过特殊的算法可以获得一个特殊的值
hash的特点是什么?
1.只要传入的值相同,加密得到的哈希值必定一样
2.不能逆推
3.只要使用相同的哈希算法,不论你传入的值有多大,hash值是固定的
如何使用
import hashlib
m = hashlib.md5()#获得一个md5哈希的对象
m.update('字符串'.encode('utf-8'))#必须传入二进制,直到hexdigest之前都可以使用update方法持续往里面添加东西
m.hexdigest()#产生密钥
m = hashlib.md5()#获得一个md5加密方式的对象
m.update('施'.encode('utf-8'))
m.update('波'.encode('utf-8'))
res = m.hexdigest()
print(res)
ps:该模块主要提供 SHA1, SHA224, SHA256, SHA384, SHA512 ,MD5 算法
python中还有一个模块hmac他的效果是与hashlib方式一致的,只不过他会强制要求你在密码之间添加进一步的加密处理
import hmac
h1=hmac.new('hello'.encode('utf-8'),digestmod='md5')#除了该new方法与hashlib不一致,其他都一样
h1.update('world'.encode('utf-8'))
print(h1.hexdigest())