C#加密算法簡單介紹
C#加密算法
MD5的全稱是message-digest algorithm 5(信息-摘要算法),在90年代初由mit laboratory for computer science和rsa data security inc的ronald l. rivest開發出來,經md2、md3和md4發展而來。它的作用是讓大容量信息在用數字簽名軟件簽署私人密匙前被"壓縮"成一種保密的格式(就是把一個任意長度的字節串變換成一定長的大整數)。不管是md2、md4還是md5,它們都需要獲得一個隨機長度的信息并產生一個128位的信息摘要。雖然這些算法的結構或多或少有些相似,但md2的設計與md4和md5完全不同,那是因為md2是為8位機器做過設計優化的,而md4和md5卻是面向32位的電腦。這三個算法的描述和c語言源代碼在internet rfcs 1321中有詳細的描述
C#加密算法代碼
- usingSystem;
- usingSystem.Collections.Generic;
- usingSystem.Text;
- usingSystem.Security.Cryptography;
- namespacemd5
- {
- classProgram
- {
- staticvoidMain(string[]args)
- {
- Console.WriteLine(UserMd5("8"));
- Console.WriteLine(GetMd5Str("8"));
- }
- /**////<summary>
- ///MD516位加密
- ///</summary>
- ///<paramnameparamname="ConvertString"></param>
- ///<returns></returns>
- publicstaticstringGetMd5Str(stringConvertString)
- {
- MD5CryptoServiceProvidermd5=newMD5CryptoServiceProvider();
- stringt2=BitConverter.ToString
(md5.ComputeHash(UTF8Encoding.Default.GetBytes(ConvertString)),4,8);- t2t2=t2.Replace("-","");
- returnt2;
- }
- http://www.cnblogs.com/sopper/archive/2007/01/08/615111.html
- /**////<summary>
- ///MD5 32位加密
- ///</summary>
- ///<paramnameparamname="str"></param>
- ///<returns></returns>
- staticstringUserMd5(stringstr)
- {
- strstringcl=str;
- stringpwd="";
- MD5MD5md5=MD5.Create();//實例化一個md5對像
- //加密后是一個字節類型的數組,這里要注意編碼UTF8/Unicode等的選擇
- byte[]s=md5.ComputeHash(Encoding.UTF8.GetBytes(cl));
- //通過使用循環,將字節類型的數組轉換為字符串,此字符串是常規字符格式化所得
- for(inti=0;i<s.Length;i++)
- {
- //將得到的字符串使用十六進制類型格式。
格式后的字符是小寫的字母,如果使用大寫(X)則格式后的字符是大寫字符- pwdpwd=pwd+s[i].ToString("X");
- }
- returnpwd;
- }
- }
- }
以上介紹C#加密算法
【編輯推薦】