這篇文章主要介紹了c# 幾種常見的加密方法的實現,幫助你們更好的理解和使用c#,感興趣的朋友能夠了解下c#
1 //ACSII碼加密 2 private static string ACSIIPWd(string rpwd) 3 { 4 string Ret; 5 byte[] array = System.Text.Encoding.ASCII.GetBytes(rpwd); 6 byte[] byteArray = new byte[array.Length]; 7 8 for (int i = 0; i < array.Length; i++) 9 { 10 int asciicode = (int)(array[i]); 11 asciicode = asciicode + 1; 12 byteArray[i] = (byte)asciicode; 13 } 14 System.Text.ASCIIEncoding asciiEncoding = new System.Text.ASCIIEncoding(); 15 string strCharacter = asciiEncoding.GetString(byteArray); 16 Ret = strCharacter; 17 return Ret; 18 }
1 //MD5加密 2 private static string MD5PWd(string rpwd) 3 { 4 string Ret; 5 6 MD5 md5 = new MD5CryptoServiceProvider(); 7 byte[] palindata = Encoding.Default.GetBytes(rpwd);//將要加密的字符串轉換爲字節數組 8 byte[] encryptdata = md5.ComputeHash(palindata);//將字符串加密後也轉換爲字符數組 9 Ret = Convert.ToBase64String(encryptdata); 10 return Ret; 11 }
1 //RSA加密 2 private static string RSAPWD1(string myKeyContainerName) 3 { 4 string ret = ""; 5 CspParameters cp = new CspParameters(); 6 cp.KeyContainerName = myKeyContainerName; 7 RSACryptoServiceProvider rsa = new RSACryptoServiceProvider(cp); 8 9 ret = rsa.ToXmlString(true); 10 Console.WriteLine("Key is : \n" + rsa.ToXmlString(true)); 11 return ret; 12 13 }
1 //DES加密 2 private static string DESPWD(string ciphertext) 3 { 4 string desPWD = ""; 5 byte[] buffer; 6 DESCryptoServiceProvider DesCSP = new DESCryptoServiceProvider(); 7 8 MemoryStream ms = new MemoryStream();//先建立 一個內存流 9 CryptoStream cryStream = new CryptoStream(ms, DesCSP.CreateEncryptor(), CryptoStreamMode.Write);//將內存流鏈接到加密轉換流 10 StreamWriter sw = new StreamWriter(cryStream); 11 sw.WriteLine(ciphertext);//將要加密的字符串寫入加密轉換流 12 sw.Close(); 13 cryStream.Close(); 14 buffer = ms.ToArray();//將加密後的流轉換爲字節數組 15 desPWD = Convert.ToBase64String(buffer);//將加密後的字節數組轉換爲字符串 16 17 return desPWD; 18 }