hashlib和hmac的区别及相似
2018-09-08 本文已影响1人
陆_志东
首先要说明的是hashlib.md5()
和hmac
都能实现加盐的方式加密
hashlib
使用将盐和要加密的内容以二进制的方式拼接然后加密
hamc
是将二进制盐和要加密的内容(二进制形式)当作参数传入加密
代码示例:
import os
import hashlib
import hmac
password = "123456".encode("utf-8")
salt = os.urandom(32) # 随机生成盐
md5 = hashlib.md5()
md5.update(password+salt)
h_hmac = hmac.new(salt,password,digestmod="md5")
print(md5.hexdigest())
>>1decd5232231140feaad44c6e6b07b87
print(h_hmac.hexdigest())
>>4b9bfbc252db4f5f09165aa304bfc51b