我发现在不同时间由相同的盐和字符串组合生成的哈希之间存在2个字节的差异。正在使用的库是openssl。代码是
unsigned char digest[SHA512_DIGEST_LENGTH];
SHA512((unsigned char*)(input.c_str()), input.size(), (unsigned char*)&digest);
以base64形式生成的哈希值如下所示 watBYt80 / mWSXEap3 + snTJt9LpvCb / fJl1f7yF2KTYEnFG9m0APT + GxvaNbAd9UhvGwZRnhhXC + ml7YCHkGFFXDqJAE = watBYt80 / mWSXEap3 + snTJt9LpvCb / fJl1f7yF2KTYEnFG9m0APT + GxvaNbAd9UhvGwZRnhhXC + ml7YCHkGFFXDKeAE =
请注意前两个不同的最后5个字符。 令人惊讶的是,根据密钥的长度,不同的字符数会发生变化。盐的长度总是不变的。