C#加密算法簡(jiǎn)單介紹
C#加密算法
MD5的全稱是message-digest algorithm 5(信息-摘要算法),在90年代初由mit laboratory for computer science和rsa data security inc的ronald l. rivest開發(fā)出來,經(jīng)md2、md3和md4發(fā)展而來。它的作用是讓大容量信息在用數(shù)字簽名軟件簽署私人密匙前被"壓縮"成一種保密的格式(就是把一個(gè)任意長(zhǎng)度的字節(jié)串變換成一定長(zhǎng)的大整數(shù))。不管是md2、md4還是md5,它們都需要獲得一個(gè)隨機(jī)長(zhǎng)度的信息并產(chǎn)生一個(gè)128位的信息摘要。雖然這些算法的結(jié)構(gòu)或多或少有些相似,但md2的設(shè)計(jì)與md4和md5完全不同,那是因?yàn)閙d2是為8位機(jī)器做過設(shè)計(jì)優(yōu)化的,而md4和md5卻是面向32位的電腦。這三個(gè)算法的描述和c語言源代碼在internet rfcs 1321中有詳細(xì)的描述
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();//實(shí)例化一個(gè)md5對(duì)像
- //加密后是一個(gè)字節(jié)類型的數(shù)組,這里要注意編碼UTF8/Unicode等的選擇
- byte[]s=md5.ComputeHash(Encoding.UTF8.GetBytes(cl));
- //通過使用循環(huán),將字節(jié)類型的數(shù)組轉(zhuǎn)換為字符串,此字符串是常規(guī)字符格式化所得
- for(inti=0;i<s.Length;i++)
- {
- //將得到的字符串使用十六進(jìn)制類型格式。
格式后的字符是小寫的字母,如果使用大寫(X)則格式后的字符是大寫字符- pwdpwd=pwd+s[i].ToString("X");
- }
- returnpwd;
- }
- }
- }
以上介紹C#加密算法
【編輯推薦】