日常程式開發中,涉及到敏感資料內容,通常會採取加密處理以保證資料安全,本篇文章講述了在C#中使用MD5方法加密資料
MD5的全稱是message-digest algorithm 5,MD5演演算法屬於hash演演算法的一類,對訊息進行運算,產生一個128位元的訊息摘要(32位元數位字母),並且加密不可逆,相同資料的加密結果一定相同。
MD5資料是不可逆的,網上的破解工具都基於巨量資料解密,將大量資料的MD5值先儲存起來,對於一些簡單的資料,是很容易匹配到的。
string Str = "要加密的字串";
var md5 = new MD5CryptoServiceProvider();//範例化
//將要加密的字串轉換成位元組陣列
byte[] strbt = Encoding.UTF8.GetBytes(Str)
//對轉換後的位元組進行MD5加密
byte[] result = md5.ComputeHash(strbt);
string Str = "要加密的字串";
MD5 md5 = MD5.Create();//範例化
//將要加密的字串轉換成位元組陣列
byte[] strbt = Encoding.UTF8.GetBytes(Str)
//對轉換後的位元組進行MD5加密
byte[] result = md5.ComputeHash(strbt);
- BitConverter方法,此方法返回的字串為16組,以 - 分割的,每組兩位字元,如需要去除可以使用Replace去除
string StrResult = BitConverter.ToString(result); StrResult = StrResult.Replace("-", "");
- 迴圈位元組陣列轉成字串,其中ToString的引數中,X大寫表示轉換的字元也是大寫,反之則為小寫
string StrResult = ""; for (int i = 0; i < result.Length; i++) { StrResult = StrResult + result[i].ToString("X2"); }
- 通過上面方法,最終生成32位元字串。
以上是C#實現MD5加密的全部內容,針對該方法已經整理成完整的幫助類,專案已上傳至Gitee,可以直接下載使用
地址 :https://gitee.com/yang-yong-666/csharp
類檔案:YYEnAndDecryption.MD5Decryption.cs
個人交流QQ:1695690324
原創不易,轉載請註明出處
部落格園:https://www.cnblogs.com/yangyongdashen-S/
CSDN:https://blog.csdn.net/weixin_44312699?spm=1010.2135.3001.5343
Gitee:https://gitee.com/yang-yong-666
公眾號:yi人夕岸