I have this method to hash a string:
byte[] buffer = enc.GetBytes(text);
SHA1CryptoServiceProvider cryptoTransformSHA1 =
new SHA1CryptoServiceProvider();
string hash = BitConverter.ToString(
cryptoTransformSHA1.ComputeHash(buffer)).Replace("-", "");
return hash;
My question is:
Is the resulting hash always开发者_如何转开发 the same for the same string?
I hashed a string a couple of days ago and it seems that it now resulted in another hash, but i'm not sure.
Yes, the same plaintext string will hash to the same SHA1 hash every time.
As long as the bytes are the same, you will end up with exactly the same hash. Note that special characters and whitespace are bytes as well.
Wikipedia Link
Id depends! The same plain text string will hash to the same SHA1 hash if you use the same Encoding! Using different Encoding will result in different SHA1 hash.
精彩评论