这篇文章主要介绍了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 }