【发布时间】:2015-12-07 18:04:06
【问题描述】:
我正在为我的考试开发一个 hmac-sha1 类。当我必须按照https://en.wikipedia.org/wiki/Hash-based_message_authentication_code 中的描述应用两次 sha-1 时,我遇到了问题。
当我将 sha1 应用于字符串时,它会返回一个 unsigned int [5] 并计算哈希值。我想将 unsigned int [5] 转换为带有哈希的 char [40]。
例如
unsigned int H[5] = { 67452301, EFCDAB89, 98BADCFE, 10325476, C3D2E1F0 };
// char [40] will be "67452301EFCDAB8998BADCFE10325476C3D2E1F0"
所以,我可以将它连接到ipad,然后计算他的哈希ipad_hash,最后计算连接两个字符串的opad+ipad_hash。
对吗?
我使用的是 arduino uno,所以“unsigned int”是“unsigned long”。
这是我的测试代码(很乱,但我会清理它):http://pastebin.com/jfwBxAp1
【问题讨论】:
标签: c++ string hash sha1 hmacsha1