關於MD5的簡介:https://baike.baidu.com/item/MD5/212708?fr=aladdin
百度百科上有詳細記得介紹,這里就不做過多的介紹了
//MD5類是抽象類 MD5 md5 =MD5.Create(); //需要將字符串轉成字節數組 byte[] buffer = Encoding.Default.GetBytes("123"); //加密后是一個字節類型的數組,這里要注意編碼UTF8/Unicode等的選擇 byte[] md5buffer = md5.ComputeHash(buffer); string str = null; // 通過使用循環,將字節類型的數組轉換為字符串,此字符串是常規字符格式化所得 foreach (byte b in md5buffer) { //得到的字符串使用十六進制類型格式。格式后的字符是小寫的字母,如果使用大寫(X)則格式后的字符是大寫字符 //但是在和對方測試過程中,發現我這邊的MD5加密編碼,經常出現少一位或幾位的問題; //后來分析發現是 字符串格式符的問題, X 表示大寫, x 表示小寫, //X2和x2表示不省略首位為0的十六進制數字; str += b.ToString("x2"); } Console.WriteLine(str);//202cb962ac59075b964b07152d234b70 Console.ReadKey(); }
這個就是主要的加密過程,由於加密過程是不可逆的,所以當使用驗證的時候,需要將輸入的時候進行加密然后去驗證,