我在Windows中使用函数并生成SHA-1哈希。
这是我正在使用的函数的一部分,它不是整个函数,但是这个函数返回一个GUID。
GUID guid;
res = CryptGetHashParam(hHash, HP_HASHVAL, (BYTE*)&guid, &dwHashLen, 0);
我很确定它有效但我需要对它进行单元测试,因为它是我们代码库的一个非常重要的部分。
我希望能做的是 找到一些散列到GUID的样本字符串的测试向量 要不然 找到一种将GUID转换为字符串的方法。
我使用的测试数据来自网站https://www.di-mgt.com.au/sha_testvectors.html
所以
散列字符串" abc"使用SHA-1应该产生
a9993e36 4706816a ba3e2571 7850c26c 9cd0d89d
散列字符串
abcdbcdecdefdefgefghfghighijhijkijkljklmklmnlmnomnopnopq
应该产生84983e44 1c3bd26e baae4aa1 f95129e5 e54670f1
答案 0 :(得分:0)
为什么不使用时间戳作为输入使用标准GUID生成函数。事实上,时间戳是最好的GUID。
答案 1 :(得分:0)
事实证明,您不能将SHA-1摘要表示为GUID,因为SHA-1摘要与GUID的大小不同。 我这个愚蠢的错误。