Python-MD5加密方式

MD5:
python的hashlib提供了常见的摘要算法,如MD5,SHA1等等。MD5加密是常用的一种加密方式,不可逆,在日常的字符串加密,请求报文加密中经常用到。

Python使用MD5加密使用的是Python自带的模块hashlib。重复调用update()方法,是会将传入的arg参数进行拼接,而不是覆盖。也就是说,m.update(a); m.update(b) 等价于m.update(a+b)。为避免加密错误,可以在每次进行加密前都进行实例化一次。
代码如下:
 1 def md5_hash(s):
 2 
 3     m = hashlib.md5() # 创建md5对象
 4     m.update(s.encode(encoding='utf-8'))
 5     return m.hexdigest()
 6 
 7 
 8 s = '1qaz2wsx'
 9 print(md5_hash(s))
10 
11 # 结果如下
12 1c63129ae9db9c60c3e8aa94d3e00495
hexdigest()在英语中hex有十六进制的意思,因此该方法是返回摘要,作为十六进制数据字符串值

注意:update(str.encode(encoding=‘utf-8’))这个函数里面需要对字符串进行编码,否则会报TypeError: Unicode-objects must be encoded before hashing,如果是对英文进行加密,在update()加密时不需要进行字符转码。

 

posted @ 2021-05-07 16:42  术科术  阅读(820)  评论(0编辑  收藏  举报