在Python中如何对字符串求md5值?

在一些不懂安全或密码学的开发人员开来, md5就是加密。这个认识是有歧义的,单从中文语言角度来看, 有加密就有解密,而md5运算后,是没有办法通过计算还原为明文。

md5其实是一个单向散列函数,将原始的字符串根据一定规则打乱,使得不同的源字符串计算的结果不同。 而且不能通过探测方法来找出相同的计算结果的不同的原始字符串。

在python3中没有一个现成的md5函数来对字符串求md5值。可以通过hashlib这个内置的库来进行哈希计算。 示例代码如下:

import hashlib

m = hashlib.md5()
m.update(b"abc")
print(m.hexdigest())

输出是32个字节数字和字母,字母为小写,计算出来的内容可以和rfc中的md5计算比较。 “abc”的MD5值应当为900150983cd24fb0d6963f7d28e17f72

参考链接:#https://tools.ietf.org/html/rfc1321.html