Fra*_*esc 4 c# sha1 windows-phone-7.1
我目前正在使用Windows Phone和Silverlight中的内置方法来创建字符串的SHA1哈希.这是代码:
private static string CalculateSHA1(string text)
{
SHA1Managed s = new SHA1Managed();
UTF8Encoding enc = new UTF8Encoding();
s.ComputeHash(enc.GetBytes(text.ToCharArray()));
System.Diagnostics.Debug.WriteLine("Original Text {0}, Access {1}", text, Convert.ToBase64String(s.Hash));
return Convert.ToBase64String(s.Hash);
}
Run Code Online (Sandbox Code Playgroud)
例如,我尝试为此字符串生成哈希:"hello".
Silverlight输出: LPJNul+wow4m6DsqxbninhsWHlwfp0JecwQzYpOLmCQ=
正确的输出: aaf4c61ddcc5e8a2dabede0f3b482cd9aea9434d
我在代码中做错了什么?
Joh*_*sch 10
在您的示例中,您是Base64编码字节数组.您的正确输出是十六进制格式,您可以使用以下方式实现:
return BitConverter.ToString(s.Hash).Replace("-", "");
Run Code Online (Sandbox Code Playgroud)
代替:
return Convert.ToBase64String(s.Hash);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3718 次 |
| 最近记录: |