不是直接的MD5 32寫法,而是加了一個簽名key的,
找了一個方法,似乎不對頭,驗證沒通過
public string EncryptMD5( string password)
{
string
key="32字符的key";
MD5 md5 = MD5.Create();
byte[] bs = Encoding.UTF8.GetBytes(password+"&key="+key);
byte[] hs = md5.ComputeHash(bs);
StringBuilder sb = new StringBuilder();
foreach (byte b in hs)
{
sb.Append(b.ToString("x2"));
}
//再次加密
byte[] nbs = Encoding.UTF8.GetBytes(sb.ToString() + key);
byte[] nhs = md5.ComputeHash(nbs);
StringBuilder nsb = new StringBuilder();
foreach (byte nb in nhs)
{
nsb.Append(nb.ToString("x2"));
}
return nsb.ToString();
}
uj5u.com熱心網友回復:
用 hmac
using (var hasne = HMAC.Create("HMACMD5"))
{
hasne.Key = Encoding.UTF8.GetBytes("我是key");
var suieg = hasne.ComputeHash(Encoding.UTF8.GetBytes("我是要加密的字串"));
StringBuilder builder = new StringBuilder();
foreach (var item in suieg)
{
builder.Append(item.ToString("x2"));
}
return builder.ToString();
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/94817.html
標籤:C#
上一篇:c# 計算器
