Ben*_*Ben 5 python hash cryptography hmac
只是出于好奇,真的......例如,在python中,
hashlib.sha1("key" + "data").hexdigest() != hmac.new("key", "data", hashlib.sha1)
Run Code Online (Sandbox Code Playgroud)
我在这两个动作之间缺少一些逻辑上的区别吗?
小智 4
hashlib.sha1 为您提供了作为参数提供的内容“keydata”的 sha1 哈希值(请注意,您只是连接两个字符串)。hmac 调用使用字符串“key”作为键,使用 sha1 作为哈希函数,为您提供字符串“data”的键控哈希。这两个调用之间的根本区别在于,只有在您知道密钥的情况下才能重现 HMAC,因此您还可以了解谁生成了 hmac。SHA1只能用来检测内容没有改变。