as3md5加密
① 不同語言的md5加密同一字元串,結果是不一樣的嗎
首先不同的語言的md5加密方式肯定是一樣的
使用C#的MD5加密時要注意幾點:
1.密碼是中文的:md5Hasher.ComputeHash(Encoding.GetEncoding("gb2312").GetBytes("中文"));
英文的要注意轉換字元集(對於常用的MS有點反了,反正針對密碼所用的字元集就行了)
2.如果要匹配資料庫的密碼,sql的md5加密是補足位數的,而網上的演算法沒有做這件事,所以經常會出現少幾位的情況,而且少的幾位肯定是「0」所以要注意補0,也就是ToString("X2")
貼一段代碼:
static void Main(string[] args)
{
MD5CryptoServiceProvider md5Hasher = new MD5CryptoServiceProvider();
byte[] hashedDataBytes;
hashedDataBytes = md5Hasher.ComputeHash(Encoding.GetEncoding("gb2312").GetBytes("中文"));
StringBuilder tmp = new StringBuilder();
foreach (byte i in hashedDataBytes)
{
tmp.Append(i.ToString("x2")); //就是這里的處理
}
Console.WriteLine(tmp.ToString());
Console.Read();
}