摘要
本文记录hashlib的常用方法
hashlib
hash:一种算法,用于加密相关的操作,3.x里代替了md5模块和sha模块,主要提供 SHA1, SHA224, SHA256, SHA384, SHA512 ,MD5 算法
三个特点:
- 内容相同则hash运算结果相同,内容稍微改变则hash值则变
- 不可逆推
- 相同算法:无论校验多长的数据,得到的哈希值长度固定。
1 | import hashlib |
以上加密算法虽然依然非常厉害,但时候存在缺陷,即:通过撞库可以反解。所以,有必要对加密算法中添加自定义key再来做加密。
1 | import hashlib |
模拟撞库破解密码
1 | import hashlib |
还不够吊?python 还有一个 hmac 模块,它内部对我们创建 key 和 内容 再进行处理然后再加密
1 | import hmac |
注意!注意!注意
1 | #要想保证hmac最终结果一致,必须保证: |