python 摘要:hmac

廖某在文章中解释得很含糊,我只知道hmac是通过password+key进行生成,这与前面一节将的加Salt的方法差不多。

以下链接的博主解释的很清晰。

https://blog.csdn.net/hwaphon/article/details/52175431


HMAC 算法主要应用于身份验证,用法如下:    1.客户端发出登录请求    2.服务器返回一个随机值,在会话记录中保存这个随机值    3.客户端将该随机值作为密钥,用户密码进行 hmac 运算,递交给服务器    4.服务器读取数据库中的用户密码,利用密钥做和客户端一样的 hmac运算,然后与用户发送的结果比较,如果一致,则用户身份合法。


加Salt是固定的,用户名也是固定的,被知道了一样破解。但是,HMAC是的key是每次随机的,这样比加Salt的方法更加安全可靠。


import hmac
message = b'Hello, world!'
key = b'secret'
h = hmac.new(key, message, digestmod='MD5')
# 如果消息很长,可以多次调用h.update(msg)
print (h.hexdigest())

运行结果:

fa4ee7d173f2d97ee79022d1a7355bcf



猜你喜欢

转载自blog.51cto.com/13502993/2151860