C#實(shí)現(xiàn)加密的幾種方法介紹
1.ACSII碼加密
//ACSII碼加密 private static string ACSIIPWd(string rpwd) { string Ret; byte[] array = System.Text.Encoding.ASCII.GetBytes(rpwd); byte[] byteArray = new byte[array.Length]; for (int i = 0; i < array.Length; i++) { int asciicode = (int)(array[i]); asciicode = asciicode + 1; byteArray[i] = (byte)asciicode; } System.Text.ASCIIEncoding asciiEncoding = new System.Text.ASCIIEncoding(); string strCharacter = asciiEncoding.GetString(byteArray); Ret = strCharacter; return Ret; }
2.MD5加密
//MD5加密 private static string MD5PWd(string rpwd) { string Ret; MD5 md5 = new MD5CryptoServiceProvider(); byte[] palindata = Encoding.Default.GetBytes(rpwd);//將要加密的字符串轉(zhuǎn)換為字節(jié)數(shù)組 byte[] encryptdata = md5.ComputeHash(palindata);//將字符串加密后也轉(zhuǎn)換為字符數(shù)組 Ret = Convert.ToBase64String(encryptdata); return Ret; }
3.RSA加密
//RSA加密 private static string RSAPWD1(string myKeyContainerName) { string ret = ""; CspParameters cp = new CspParameters(); cp.KeyContainerName = myKeyContainerName; RSACryptoServiceProvider rsa = new RSACryptoServiceProvider(cp); ret = rsa.ToXmlString(true); Console.WriteLine("Key is : \n" + rsa.ToXmlString(true)); return ret; }
4.DES加密
//DES加密 private static string DESPWD(string ciphertext) { string desPWD = ""; byte[] buffer; DESCryptoServiceProvider DesCSP = new DESCryptoServiceProvider(); MemoryStream ms = new MemoryStream();//先創(chuàng)建 一個內(nèi)存流 CryptoStream cryStream = new CryptoStream(ms, DesCSP.CreateEncryptor(), CryptoStreamMode.Write);//將內(nèi)存流連接到加密轉(zhuǎn)換流 StreamWriter sw = new StreamWriter(cryStream); sw.WriteLine(ciphertext);//將要加密的字符串寫入加密轉(zhuǎn)換流 sw.Close(); cryStream.Close(); buffer = ms.ToArray();//將加密后的流轉(zhuǎn)換為字節(jié)數(shù)組 desPWD = Convert.ToBase64String(buffer);//將加密后的字節(jié)數(shù)組轉(zhuǎn)換為字符串 return desPWD; }
到此這篇關(guān)于C#實(shí)現(xiàn)加密的文章就介紹到這了。希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
理解C#中參數(shù)的值和引用以及傳遞結(jié)構(gòu)和類引用的區(qū)別
這篇文章主要介紹了理解C#中參數(shù)的值和引用以及傳遞結(jié)構(gòu)和類引用的區(qū)別,文中舉了兩段代碼例子來簡單說明,需要的朋友可以參考下2016-01-01C#設(shè)置軟件開機(jī)自動運(yùn)行的方法(修改注冊表)
這篇文章主要介紹了C#設(shè)置軟件開機(jī)自動運(yùn)行的方法,通過簡單修改注冊表開機(jī)啟動項(xiàng)實(shí)現(xiàn)軟件的開機(jī)啟動功能,非常簡單實(shí)用,需要的朋友可以參考下2016-06-06C# 獲取當(dāng)前年份的周期及周期所在日期范圍(推薦)
這篇文章主要介紹了C# 獲取當(dāng)前年份的周期,周期所在日期范圍 ,非常不錯,具有一定的參考借鑒價值,需要的朋友可以參考下2018-05-05C#創(chuàng)建一個小型Web Server(Socket實(shí)現(xiàn))
這篇文章主要介紹了關(guān)于C#利用Socket實(shí)現(xiàn)創(chuàng)建一個小型Web Server的相關(guān)資料,文中通過示例代碼介紹的很詳細(xì),需要的朋友可以參考借鑒,下面來一起看看吧。2017-02-02C# 實(shí)現(xiàn)TXT文檔轉(zhuǎn)Table的示例代碼
這篇文章主要介紹了C# 實(shí)現(xiàn)TXT文檔轉(zhuǎn)Table的示例代碼,幫助大家更好的理解和學(xué)習(xí)c#,感興趣的朋友可以了解下2020-12-12C#實(shí)現(xiàn)的字符串轉(zhuǎn)MD5碼函數(shù)實(shí)例
這篇文章主要介紹了C#實(shí)現(xiàn)的字符串轉(zhuǎn)MD5碼函數(shù),結(jié)合簡單實(shí)例形式分析了C#字符串的轉(zhuǎn)換、遍歷、加密等操作技巧,需要的朋友可以參考下2016-07-07C#實(shí)體類轉(zhuǎn)換的兩種方式小結(jié)
這篇文章主要介紹了C#實(shí)體類轉(zhuǎn)換的兩種方式小結(jié),具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2023-01-01