C++哈希算法

C++ hashing algorithm

本文关键字:算法 哈希 C++      更新时间:2023-10-16

我有以下算法(基于SHA-1哈希函数实现)。它产生"abc"的散列。结果是无符号的char*摘要。

#define BYTES "abce"
SHA1* sha1 = new SHA1();
sha1->addBytes( BYTES, strlen( BYTES ) );
unsigned char* digest = sha1->getDigest();

我想重提一下结果摘要。我正在以以下方式进行此操作,但不起作用。char* S的定义与#define BYTES "abce"不同吗?

char* S = reinterpret_cast<char*>(digest);
sha1 = new SHA1();
sha1->addBytes( S, strlen( S ) );           
unsigned char* digest1 = sha1->getDigest();

除了C样式字符串之外,任何时候都不要使用strlen

          sha1->addBytes( S, strlen( S ) );         

这毫无意义。你可能想要20个,相当于SHA摘要的大小。