zoukankan      html  css  js  c++  java
  • C# DES 加密解密字符

       public class Decode
        {
            /// <summary>
            /// 算法的机密密钥
            /// 可以重新定义8位 255以内的整型字节组
            /// </summary>
            static byte[] rgbKey = { 56, 104, 247, 80, 34, 88, 157, 4 };
            /// <summary>
            /// 对称算法的初始化向量
            /// 可以重新定义8位 255以内的整型字节组
            /// </summary>
            static byte[] rgbIV = { 101, 18, 99, 166, 98, 6, 151, 36 };
    
            /// <summary>
            /// 加密
            /// </summary>
            /// <param name="strEncrypt">需要加密的字符串</param>
            /// <returns>加密的字符串</returns>
            public static string Encrypt(string strEncrypt)
            {
                //将要加密的字符串转换成字节数组    
                byte[] bytes = Encoding.Default.GetBytes(strEncrypt);
    
                // DES创建对称加密器对象 
                DESCryptoServiceProvider des = new DESCryptoServiceProvider();
                des.Key = rgbKey;
                des.IV = rgbIV;
                ICryptoTransform encryptor = des.CreateEncryptor();
    
                //将要加密的字节数组写入到流中
                MemoryStream ms = new MemoryStream();
    
                CryptoStream cs = new CryptoStream(ms, encryptor, CryptoStreamMode.Write);
    
                cs.Write(bytes, 0, bytes.Length);
                cs.FlushFinalBlock();
    
                var str = Convert.ToBase64String(ms.ToArray());
                return str;
            }
    
    
            /// <summary>  
            /// 解密  
            /// </summary>  
            /// <param name="strDecrypt">需要解密的字符串</param>  
            /// <returns>解密后的字符串</returns>  
    
            public static string Decrypt(string strDecrypt)
            {
                //将解密字符串转换成字节数组  
                byte[] bytes = Convert.FromBase64String(strDecrypt);
    
                //DES创建对称解密器对象
                DESCryptoServiceProvider des = new DESCryptoServiceProvider();
                des.Key = rgbKey;
                des.IV = rgbIV;
                ICryptoTransform encryptor = des.CreateDecryptor();
    
                //从流中读取解密字符串
                MemoryStream ms = new MemoryStream(bytes, 0, bytes.Length);
            
                CryptoStream cs = new CryptoStream(ms, encryptor, CryptoStreamMode.Read);
    
                StreamReader sr = new StreamReader(cs, Encoding.Default);
    
                var str = sr.ReadToEnd();
    
                return str;
            }
        }
    

      

  • 相关阅读:
    UE 不生成.bak文件
    DOTWeen 使用
    unity admob
    UGUI 判断元素进入舞台
    unity 解决ScrollRect嵌套滚动问题
    oc字符串与c字符串转换和拷贝
    Object-c中的单例
    JAVA比较两个List集合的方法
    CentOS 7 配置静态IP
    CentOS7安装Jdk1.8
  • 原文地址:https://www.cnblogs.com/lizhenhong/p/13230098.html
Copyright © 2011-2022 走看看