使用openssl SHA512对相同的salt和密钥组合进行2字节的差异

使用openssl SHA512对相同的salt和密钥组合进行2字节的差异,openssl,Openssl,我发现由相同的salt和string组合在不同时间生成的散列之间存在2字节的差异。正在使用的库是openssl。代码是 unsigned char digest[SHA512_DIGEST_LENGTH]; SHA512((unsigned char*)(input.c_str()), input.size(), (unsigned char*)&digest); 以base64形式生成的哈希如下所示 watBYt80/mWSXEap3+snTJt9LpvCb/fJl1f7yF2K

我发现由相同的salt和string组合在不同时间生成的散列之间存在2字节的差异。正在使用的库是openssl。代码是

unsigned char digest[SHA512_DIGEST_LENGTH];
 SHA512((unsigned char*)(input.c_str()), input.size(), (unsigned char*)&digest); 
以base64形式生成的哈希如下所示 watBYt80/mWSXEap3+snTJt9LpvCb/fJl1f7yF2KTYEnFG9m0APT+GXVANBAD9UHVGWZRNHXC+ml7YCHkGFFXDqJAE= watBYt80/mWSXEap3+snTJt9LpvCb/fJl1f7yF2KTYEnFG9m0APT+GXVANBAD9UHVGWZRNHXC+ml7YCHkGFFXDKeAE=

请注意前2个不同的最后5个字符。
令人惊讶的是,不同的字符数会根据键的长度而变化。盐的长度总是恒定的

你的意思是说
input.size()
size()
std::string
的一个成员函数,不是一个成员变量。我会改正的。