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);//将要加密的字符串转换为字节数组
            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;

        }

 rsa详解: https://www.cnblogs.com/ButterflyEffect/p/9494061.html

 

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;
        }

 

5.base64

  ///编码
        public static string EncodeBase64(string code_type, string code)
        {
            string encode = "";
            byte[] bytes = Encoding.GetEncoding(code_type).GetBytes(code);
            try
            {
                encode = Convert.ToBase64String(bytes);
            }
            catch
            {
                encode = code;
            }
            return encode;
        }
        ///解码
        public static string DecodeBase64(string code_type, string code)
        {
            string decode = "";
            byte[] bytes = Convert.FromBase64String(code);
            try
            {
                decode = Encoding.GetEncoding(code_type).GetString(bytes);
            }
            catch
            {
                decode = code;
            }
            return decode;
        }

 


























c# 几种常见的加密方法的实现

上一篇:IBM NOTES不正常—启用WIN10-Beta版的unicode支持


下一篇:redis(十七):Redis 安装,部署(WINDOWS环境下)