I need to encrypt a string using SHA1. I was able to encrypt using the SHA1 class in this way:
public string CriptSha1(string secret)
{
string result = "";
byte[] key = System.Text.Encoding.UTF8.GetBytes(secret);
SHA1 sha1 = SHA1Managed.Create();
byte[] hash = sha1.ComputeHash(key);
foreach (byte b in hash)
{
result += b.ToString();
}
return result;
}
If by chance I encrypt the word teste
the output I have is:
4611115513881331821151451031201166997127855811595
Now if I encrypt using the SHA1CryptoServiceProvider class like this:
SHA1CryptoServiceProvider cryptTransformSHA1 = new SHA1CryptoServiceProvider();
byte[] buffer = Encoding.UTF8.GetBytes(secret);
string hashSecret = BitConverter.ToString(cryptoTransformSHA1.ComputeHash(buffer)).Replace("-","");
The output I have is:
2E6F9B0D5885B6010F9167787445617F553A735F
Can anyone tell me why? or what is the difference of these classes?