我正在使用Crypto ++從給定密碼生成MD4-Hash。但生成的哈希似乎並不正確。我認爲我在某處濫用CryptoPP功能。使用Crypto ++的MD4散列會導致散列錯誤?
CryptoPP::Weak1::MD4 hash2;
byte digest2[CryptoPP::Weak1::MD4::DIGESTSIZE];
hash.CalculateDigest(digest2, (byte*)password, strlen(password));
CryptoPP::HexEncoder encoder2;
std::string output2;
encoder2.Attach(new CryptoPP::StringSink(output2));
encoder2.Put(digest,sizeof(digest2));
encoder2.MessageEnd();
printf("END %s \n", output2.c_str());
我的可變密碼包含值「test」。打印的輸出是:
END 3CC942AE509EC070B2548515E00F8CE8
的預期值,通過一些MD4哈希發生器測試是:
db346d691d7acc4dc2625db19f9e3f52
任何想法?