SHA1哈希问题

时间:2010-02-26 13:54:01

标签: c# sha1

我有这个方法来散列字符串:

 byte[] buffer = enc.GetBytes(text);
 SHA1CryptoServiceProvider cryptoTransformSHA1 =
                new SHA1CryptoServiceProvider();
 string hash = BitConverter.ToString(
                cryptoTransformSHA1.ComputeHash(buffer)).Replace("-", "");

 return hash;

我的问题是:

对于同一个字符串,结果哈希是否始终相同?

我几天前打了一个字符串,现在看来它现在导致另一个哈希,但我不确定。

3 个答案:

答案 0 :(得分:10)

是的,同一个明文字符串每次都会哈希到相同的SHA1哈希值。

答案 1 :(得分:3)

只要字节相同,您将得到完全相同的哈希值。请注意,特殊字符和空格也是字节。

Wikipedia Link

答案 2 :(得分:0)

我取决于!如果使用相同的编码,相同的纯文本字符串将散列到相同的SHA1散列!使用不同的编码将导致不同的SHA1哈希值。