zoukankan      html  css  js  c++  java
  • C# ASE加密解密

    项目中比较常用的加密手段

       /// <summary>
        /// ASE_128_ECB_无填充_64Base_加密函数
        /// </summary>
        /// <param name="content">要加密的内容</param>
        /// <param name="key">一定要16位的密钥</param>
        /// <returns>加密的字符串(字节)</returns>
        public static byte[] Func_AES128加密(string content, string key)
        {
            byte[] keyArray = UTF8Encoding.UTF8.GetBytes(key);
            byte[] toEncryptArray = UTF8Encoding.UTF8.GetBytes(content);
    
            RijndaelManaged rDel = new RijndaelManaged();
            rDel.Key = keyArray;
            rDel.Mode = CipherMode.ECB;
            rDel.Padding = PaddingMode.PKCS7;
    
            ICryptoTransform cTransform = rDel.CreateEncryptor();
            byte[] resultArray = cTransform.TransformFinalBlock(toEncryptArray, 0, toEncryptArray.Length);
    
            //返回字节数组,可用Convert.FromBase64String()转换为字节
            //return Convert.ToBase64String(resultArray, 0, resultArray.Length);    
    
            return resultArray;
        }
    
    
    
    
    
        /// <summary>
        ///  ASE_128_ECB_无填充_64Base_解密函数
        /// </summary>
        /// <param name="content">密串(字节)</param>
        /// <param name="keyArray">密钥(字节)</param>
        /// <returns>解密后的字符串</returns>
        public static byte[] Func_AES128解密(byte[] content, byte[] keyArray)
        #region
        {
    
            RijndaelManaged rDel = new RijndaelManaged();
            rDel.Key = keyArray;
            rDel.Mode = CipherMode.ECB;
            rDel.Padding = PaddingMode.None;
            rDel.BlockSize = 128;
    
            ICryptoTransform cTransform = rDel.CreateDecryptor();
            byte[] resultArray = cTransform.TransformFinalBlock(content, 0, content.Length);
    
            return resultArray;
    
        }
        #endregion
    
    
    
    
    
    使用:
    
           byte[] _val1 = Func_AES128加密("Lee", "abcdef1234567890");
    
            byte[] _key = Encoding.UTF8.GetBytes("abcdef1234567890");
            
            byte[] _return1 = Func_AES128解密(_val1, _key);
    
            TextBox2.Text = Encoding.UTF8.GetString(_return1);
  • 相关阅读:
    Matlab中imagesc用法
    codevs 3160 最长公共子串(SAM)
    spoj 7258 SUBLEX(SAM,名次)
    spoj 1812 LCS2(SAM+DP)
    spoj 8222 Substrings(后缀自动机+DP)
    tyvj P1519 博彩游戏(AC自动机+DP滚动数组)
    bzoj 1030 [JSOI2007]文本生成器(AC自动机+DP)
    vijos P1459 车展(Treap,中位数)
    bzoj 3196 Tyvj 1730 二逼平衡树(线段树套名次树)
    bzoj 1483 [HNOI2009]梦幻布丁(链表+启发式合并)
  • 原文地址:https://www.cnblogs.com/CyLee/p/5421290.html
Copyright © 2011-2022 走看看