我发现在不同时间由相同的盐和字符串组合生成的哈希之间存在 2 个字节的差异。正在使用的库是 openssl。代码是
unsigned char digest[SHA512_DIGEST_LENGTH];
SHA512((unsigned char*)(input.c_str()), input.size(), (unsigned char*)&digest);
The generated hashes in base64 form are as below watBYt80/mWSXEap3+snTJt9LpvCb/fJl1f7yF2KTYEnFG9m0APT+GxvaNbAd9UhvGwZRnhhXC+ml7YCHkGFFXDqJAE= watBYt80/mWSXEap3+snTJt9LpvCb/fJl1f7yF2KTYEnFG9m0APT+GxvaNbAd9UhvGwZRnhhXC+ml7YCHkGFFXDKeAE=
请注意前 2 个不同的最后 5 个字符。令人惊讶的是,不同的字符数量会根据键的长度而变化。盐的长度总是不变的。