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)文章
UGUI ScrollRect滑動(dòng)定位優(yōu)化詳解
這篇文章主要為大家詳細(xì)介紹了UGUI ScrollRect滑動(dòng)定位優(yōu)化,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2020-04-04
C#應(yīng)用XML作為數(shù)據(jù)庫的快速開發(fā)框架實(shí)現(xiàn)方法
這篇文章主要介紹了C#應(yīng)用XML作為數(shù)據(jù)庫的快速開發(fā)框架實(shí)現(xiàn)方法,詳細(xì)介紹了將XML作為數(shù)據(jù)庫的C#桌面應(yīng)用開發(fā)技巧,具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2014-12-12
C#獲取變更過的DataTable記錄的實(shí)現(xiàn)方法
這篇文章主要介紹了C#獲取變更過的DataTable記錄的實(shí)現(xiàn)方法,對(duì)初學(xué)者很有學(xué)習(xí)借鑒價(jià)值,需要的朋友可以參考下2014-08-08
解析C# Console 控制臺(tái)為什么也會(huì)卡死(原因分析)
在分析旅程中,總會(huì)有幾例控制臺(tái)的意外卡死導(dǎo)致的生產(chǎn)事故,有經(jīng)驗(yàn)的朋友都知道,控制臺(tái)卡死一般是動(dòng)了快速編輯窗口的緣故,雖然知道緣由,但一直沒有時(shí)間探究底層原理,市面上也沒有對(duì)這塊的底層原理介紹,昨天花了點(diǎn)時(shí)間簡(jiǎn)單探究了下,感興趣的朋友一起看看吧2023-10-10
C#使用TimeSpan對(duì)象實(shí)現(xiàn)獲取時(shí)間間隔
TimeSpan對(duì)象代表兩個(gè)時(shí)間段的間隔或跨度,使用TimeSpan對(duì)象可以方便地獲取兩個(gè)時(shí)間段的間隔,下面我們就來看看C#使用TimeSpan對(duì)象實(shí)現(xiàn)獲取時(shí)間間隔的具體操作吧2024-01-01
c#數(shù)據(jù)綁定之向查詢中添加參數(shù)(.Net連接外部數(shù)據(jù)庫)
本實(shí)例主要練習(xí)了ADO.Net連接到外部數(shù)據(jù)庫的基礎(chǔ)上,向查詢中添加參數(shù)。使用的是ACCESS數(shù)據(jù)庫2014-04-04

