几种常见的加密方法的实现
几种常见的加密方法的实现
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);//将要加密的字符串转换为字节数组 byte[] encryptdata = md5.ComputeHash(palindata);//将字符串加密后也转换为字符数组 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();//先创建 一个内存流 CryptoStream cryStream = new CryptoStream(ms, DesCSP.CreateEncryptor(), CryptoStreamMode.Write);//将内存流连接到加密转换流 StreamWriter sw = new StreamWriter(cryStream); sw.WriteLine(ciphertext);//将要加密的字符串写入加密转换流 sw.Close(); cryStream.Close(); buffer = ms.ToArray();//将加密后的流转换为字节数组 desPWD = Convert.ToBase64String(buffer);//将加密后的字节数组转换为字符串 return desPWD; }
本文来自博客园,作者:码农阿亮,转载请注明原文链接:https://www.cnblogs.com/wml-it/p/12978564.html
技术的发展日新月异,随着时间推移,无法保证本博客所有内容的正确性。如有误导,请大家见谅,欢迎评论区指正!
开源库地址,欢迎点亮:
GitHub:https://github.com/ITMingliang
Gitee: https://gitee.com/mingliang_it
GitLab: https://gitlab.com/ITMingliang
建群声明: 本着技术在于分享,方便大家交流学习的初心,特此建立【编程内功修炼交流群】,为大家答疑解惑。热烈欢迎各位爱交流学习的程序员进群,也希望进群的大佬能不吝分享自己遇到的技术问题和学习心得!进群方式:扫码关注公众号,后台回复【进群】。