廖某在文章中解释得很含糊,我只知道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
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。