<span style="font-family:FangSong_GB2312;font-size:18px;">
hashlib模块
用于加密相关的操作,代替md5模块和sha模块,主要提供SHA1,SHA224,SSHA256,SHA384,SHA512,MD5算法
直接看代码案例:
---------md5-----------
hash = hashlib.md5()
hash.update(bytes('admin',encoding='utf-8'))
print(hash.hexdigest())
print(hash.digest())
----------sha1---------
hash = hashlib.sha1()
hash.update(bytes('admin',encoding='utf-8'))
print(hash.hexdigest())
----------sha256-------
hash = hashlib.sha256()
hash.update(bytes('admin',encoding='utf-8'))
print(hash.hexdigest())
---------sha384--------
hash = hashlib.sha384()
hash.update(bytes("admin",encoding='utf-8'))
print(hash.hexdigest())
------------sha512--------
hash = hashlib.sha512()
hash.update(bytes('admin',encoding='utf-8'))
print(hash.hexdigest())
#****************************
注意
以上加密算法虽然非常厉害,但有时存在缺陷,即:通过撞库可以反解。
所以,有必要对加密算法中添加自定义key再来加密
#****************************
hash = hashlib.md5(bytes('790dfhdfe3',encoding='utf-8'))
hash.update(bytes('admin',encoding='utf-8'))
print(hash.hexdigest())
-------------------------------
python 内置还有一个hmac模块,它内部对我们创建key和内容进行进一步的处理然后再加密
import hmac
h = hmac.new(bytes('dfew3',encoding="utf-8"))
h.update(bytes('admin',encoding="utf-8"))
print(h.hexdigest())
</span>
hash模块 hashlib 和hmac
最新推荐文章于 2021-02-26 15:44:20 发布