c# 幾種常見的加密方法的實(shí)現(xiàn)
更新時(shí)間:2020年12月11日 09:20:46 作者:農(nóng)碼一生
這篇文章主要介紹了c# 幾種常見的加密方法的實(shí)現(xiàn),幫助大家更好的理解和使用c#,感興趣的朋友可以了解下
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)建 一個(gè)內(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;
}
以上就是c# 幾種常見的加密方法的實(shí)現(xiàn)的詳細(xì)內(nèi)容,更多關(guān)于c# 加密的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
C# 文件上傳下載(Excel導(dǎo)入,多線程下載)功能的實(shí)現(xiàn)代碼
這篇文章主要介紹了C# 文件上傳下載(Excel導(dǎo)入,多線程下載)功能的實(shí)現(xiàn)代碼,需要的朋友可以參考下2017-08-08
C#中動(dòng)態(tài)數(shù)組用法實(shí)例
這篇文章主要介紹了C#中動(dòng)態(tài)數(shù)組用法,實(shí)例分析了C#中ArrayList實(shí)現(xiàn)動(dòng)態(tài)數(shù)組的技巧,非常具有實(shí)用價(jià)值,需要的朋友可以參考下2015-04-04
C#實(shí)現(xiàn)動(dòng)態(tài)圖標(biāo)閃爍顯示的示例代碼
這篇文章主要為大家詳細(xì)介紹了如何利用C#實(shí)現(xiàn)動(dòng)態(tài)圖標(biāo)閃爍顯示的功能,文中的示例代碼講解詳細(xì),對(duì)我們學(xué)習(xí)C#有一定的幫助,感興趣的小伙伴可以了解一下2022-12-12
WinForm下 TextBox只允許輸入數(shù)字的小例子
WinForm下 TextBox只允許輸入數(shù)字的小例子,需要的朋友可以參考一下2013-04-04
基于C#編寫一個(gè)操作XML的簡單類庫XMLHelper
這篇文章主要為大家詳細(xì)介紹了如何基于C#編寫一個(gè)操作XML的簡單類庫——XMLHelper,文中的示例代碼講解詳細(xì),需要的小伙伴可以參考一下2023-06-06
C# XML基礎(chǔ)入門小結(jié)(XML文件內(nèi)容增刪改查清)
本文主要介紹了C# XML基礎(chǔ)入門小結(jié)(XML文件內(nèi)容增刪改查清),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2022-04-04

