python3如何实现md5加密 python md5加密的方法
在python3的标准库中,已经移除了md5库,因此想要进行md5加密,必须引入hash加密算法。hash加密算法都放在hashlib这个标准库中,如SHA1、SHA224、SHA256、SHA384、SHA512和MD5算法等。
1、python3引入hashlib库时比较简单,通过import hashlib命令,即可导入库。
2、通过以下方法,可以实现md5加密并打印出加密后的字符串
- import hashlib
- m = hashlib.md5()
- m.update(b’123′)
- md5_test = m.hexdigest()
- print(md5_test)
复制代码
3、如何解决这个问题呢,那么就在加密过程中设置加密编码格式吧!
小编开始尝试了这样简单的编码:
import hashlib
data = ‘中文’
m = hashlib.md5(data).hexdigest()
print(m)
但是出现了TypeError: Unicode-objects must be encoded before hashing的报错,意思是在hashing加密前,需要对加密对象进行编码。
正确的操作如下:先将待加密的数据转换为utf-8格式
m = hashlib.md5(data.encode(encoding=’utf-8′)).hexdigest()
不仅可以设置为utf-8编码,经测试可以转为UTF-8、GBK、GB2312、GB18030,不分大小写, 小编实测加密结果:
UTF-8的加密结果不同于GBK,GB2312, 但是GBK,GB2312加密的结果是一致的。