我有以下算法(基于SHA-1哈希函数实现).它产生"abc"的哈希值.结果是未签名的char*摘要.
#define BYTES "abce"
SHA1* sha1 = new SHA1();
sha1->addBytes( BYTES, strlen( BYTES ) );
unsigned char* digest = sha1->getDigest();
Run Code Online (Sandbox Code Playgroud)
我想重新考虑结果摘要.我是按照以下方式做到这一点但不起作用.是否char* S定义了不同的东西#define BYTES "abce"?
char* S = reinterpret_cast<char*>(digest);
sha1 = new SHA1();
sha1->addBytes( S, strlen( S ) );
unsigned char* digest1 = sha1->getDigest();
Run Code Online (Sandbox Code Playgroud)
strlen除了C风格的字符串外,不要使用任何东西.
sha1->addBytes( S, strlen( S ) );
Run Code Online (Sandbox Code Playgroud)
这是没有意义的.你可能想要20,一个SHA摘要的大小.