我有这个方法来散列字符串:
byte[] buffer = enc.GetBytes(text);
SHA1CryptoServiceProvider cryptoTransformSHA1 =
new SHA1CryptoServiceProvider();
string hash = BitConverter.ToString(
cryptoTransformSHA1.ComputeHash(buffer)).Replace("-", "");
return hash;
我的问题是:
对于同一个字符串,结果哈希是否始终相同?
我几天前打了一个字符串,现在看来它现在导致另一个哈希,但我不确定。
答案 0 :(得分:10)
是的,同一个明文字符串每次都会哈希到相同的SHA1哈希值。
答案 1 :(得分:3)
只要字节相同,您将得到完全相同的哈希值。请注意,特殊字符和空格也是字节。
答案 2 :(得分:0)
我取决于!如果使用相同的编码,相同的纯文本字符串将散列到相同的SHA1散列!使用不同的编码将导致不同的SHA1哈希值。