溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

C#中如何使用加密算法

發(fā)布時(shí)間:2021-07-19 15:34:12 來源:億速云 閱讀:149 作者:Leah 欄目:編程語言

C#中如何使用加密算法,針對(duì)這個(gè)問題,這篇文章詳細(xì)介紹了相對(duì)應(yīng)的分析和解答,希望可以幫助更多想解決這個(gè)問題的小伙伴找到更簡(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#加密算法代碼

  1. usingSystem;  

  2. usingSystem.Collections.Generic;  

  3. usingSystem.Text;  

  4. usingSystem.Security.Cryptography;  

  5.  

  6. namespacemd5  

  7. {  

  8. classProgram  

  9. {  

  10. staticvoidMain(string[]args)  

  11. {  

  12. Console.WriteLine(UserMd5("8"));  

  13. Console.WriteLine(GetMd5Str("8"));  

  14. }  

  15. /**////<summary> 

  16. ///MD516位加密  

  17. ///</summary> 

  18. ///<paramnameparamname="ConvertString"></param> 

  19. ///<returns></returns> 

  20. publicstaticstringGetMd5Str(stringConvertString)  

  21. {  

  22. MD5CryptoServiceProvidermd5=newMD5CryptoServiceProvider();  

  23. stringt2=BitConverter.ToString
    (md5.ComputeHash(UTF8Encoding.Default.GetBytes(ConvertString)),4,8);  

  24. t2t2=t2.Replace("-","");  

  25. returnt2;  

  26. }  

  27. http://www.cnblogs.com/sopper/archive/2007/01/08/615111.html  

  28. /**////<summary> 

  29. ///MD5 32位加密  

  30. ///</summary> 

  31. ///<paramnameparamname="str"></param> 

  32. ///<returns></returns> 

  33. staticstringUserMd5(stringstr)  

  34. {  

  35. strstringcl=str;  

  36. stringpwd="";  

  37. MD5MD5md5=MD5.Create();//實(shí)例化一個(gè)md5對(duì)像  

  38. //加密后是一個(gè)字節(jié)類型的數(shù)組,這里要注意編碼UTF8/Unicode等的選擇   

  39. byte[]s=md5.ComputeHash(Encoding.UTF8.GetBytes(cl));  

  40. //通過使用循環(huán),將字節(jié)類型的數(shù)組轉(zhuǎn)換為字符串,此字符串是常規(guī)字符格式化所得  

  41. for(inti=0;i<s.Length;i++)  

  42. {  

  43. //將得到的字符串使用十六進(jìn)制類型格式。
    格式后的字符是小寫的字母,如果使用大寫(X)則格式后的字符是大寫字符  

  44.  

  45. pwdpwd=pwd+s[i].ToString("X");  

  46.  

  47. }  

  48. returnpwd;  

  49. }  

  50. }  

關(guān)于C#中如何使用加密算法問題的解答就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關(guān)注億速云行業(yè)資訊頻道了解更多相關(guān)知識(shí)。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI