如何在 C++ 中从 GUID 生成 SHA-1 字节数组
how can I generate a SHA-1 byte array from a GUID in C++
>我在窗口中使用函数并生成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
所以
使用 SHA-1 对字符串"abc"进行哈希处理应该会产生a9993e36 4706816a ba3e2571 7850c26c 9cd0d89d
对字符串进行哈希处理abcdbcdecdefdefgefghfghighijhijkijkljklmklmnlmnomnopnopq
应该产生84983e44 1c3bd26e baae4aa1 f95129e5 e54670f1
为什么不使用使用时间戳作为输入的标准 GUID 生成函数。事实上,时间戳是最好的 GUID。
事实证明,您不能将 SHA-1 摘要表示为 GUID,因为 SHA-1 摘要的大小与 GUID 不同。 我的愚蠢错误。
相关文章:
- 从不同线程使用int64的不同字节安全吗
- 将Integer转换为4字节的unsined字符矢量(按大端字节顺序)
- 在UNIX系统中使用DIR查找文件的字节大小
- 如何使用Crypto++并为RSA返回可打印的字节/字符数组
- std::当在256字节边界上写入整数时,流的奇怪行为
- 当比特(而不是字节)的顺序至关重要时的持久性
- 从文件中读取多个字节,并将它们存储在C++中进行比较
- 如何在文件中查找字节序列
- luaL_dofile在已知良好的字节码上失败,可以使用未编译的版本
- 字节到位运算符重载C++
- 在java中读取c++字节的位字段
- 使用 std::vector::reverse_iterator 将 int 序列化为字节向量?
- 字节真的是最小可寻址单元吗
- struct.error:解压缩 C++ 结构时,解包需要 288 字节的缓冲区
- 读取文件中所有可能的十六进制 16 字节序列并打印每个序列
- 如何使用 OpenCV 解码在两个 UWP 应用之间发送的图像字节?
- 如何将字节数组元素替换为修改的十六进制 ASCII 符号?
- asn1c 不会从 asn.1 模块中提取八位字节字符串的默认值
- 如何在 C++ 中从 GUID 生成 SHA-1 字节数组
- 字节序与 SHA-2 算法的乐趣