一,参考文献:
加密参考自:http://msdn.microsoft.com/zh-cn/library/system.security.cryptography.hmacsha1(v=vs.110).aspx
Aggregate参考自:http://msdn.microsoft.com/zh-cn/library/vstudio/system.linq.enumerable.aggregate(v=vs.110).aspx
二:步骤
需要引入2个命名空间:
using System.Security.Cryptography;
using
System.Linq;//注意linq,是Aggregate必须的方法。这个是同事帮忙找到的。msdn没错,不过,这个方法放到了linq中。
//sha1加密(标准)
public string HMAC1(string publickey, string list1)
{
byte[] byte1 =
System.Text.Encoding.UTF8.GetBytes(publickey);
byte[] byte2 =
System.Text.Encoding.UTF8.GetBytes(list1);
HMACSHA1 hmac = new
HMACSHA1(byte1);
//把比特流连接起来,附加到字符串里面
string hashValue =
hmac.ComputeHash(byte2).Aggregate("", (s, e) => s + String.Format("{0:x2}",
e), s => s);
return hashValue;
}
原文:http://www.cnblogs.com/defoliate/p/3548085.html