首页 > 其他分享 >AES加密解密

AES加密解密

时间:2023-09-28 17:00:45浏览次数:25  
标签:AES 加密 string 解密 resultArray rDel key byte toEncryptArray

key要16位的字符串。

    public class AESHelper
    {  /// <summary>
       /// AES加密
       /// </summary>
       /// <param name="text">加密字符</param>       
       /// <param name="key">密钥</param>
       /// <returns></returns>
        public static string AESEncrypt(string text, string key)
        {
            byte[] keyArray = Encoding.UTF8.GetBytes(key);
            byte[] toEncryptArray = Encoding.UTF8.GetBytes(text);
            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);
            return Convert.ToBase64String(resultArray, 0, resultArray.Length);
        }

        /// <summary>
        /// AES解密
        /// </summary>
        /// <param name="text"></param>        
        /// <param name="key">密钥</param>
        /// <returns></returns>
        public static string AESDecrypt(string text, string key)
        {
            byte[] keyArray = Encoding.UTF8.GetBytes(key);
            byte[] toEncryptArray = Convert.FromBase64String(text);
            RijndaelManaged rDel = new RijndaelManaged();
            rDel.Key = keyArray;
            rDel.Mode = CipherMode.ECB;
            rDel.Padding = PaddingMode.PKCS7;
            ICryptoTransform cTransform = rDel.CreateDecryptor();
            byte[] resultArray = cTransform.TransformFinalBlock(toEncryptArray, 0, toEncryptArray.Length);
            return Encoding.UTF8.GetString(resultArray);
        }
    }

 

标签:AES,加密,string,解密,resultArray,rDel,key,byte,toEncryptArray
From: https://www.cnblogs.com/vichin/p/17736154.html

相关文章

  • 随想录Day8|344. 反转字符串、541. 反转字符串Ⅱ、LCR 122. 路径加密、151. 反转字符
    随想录Day8|344.反转字符串、541.反转字符串Ⅱ、LCR122.路径加密、151.反转字符串里的单词、LCR182.动态口令 题目越来越长了…… 344.反转字符串文章&视频讲解编写一个函数,其作用是将输入的字符串反转过来。输入字符串以字符数组s的形式给出。不要给另外的数......
  • 解密防关联指纹浏览器:联盟营销领域的秘密武器
    联盟营销在今天的数字化时代越来越受欢迎。然而,联盟营销也面临着一些挑战,其中之一就是账号关联问题。本文将介绍如何利用防关联指纹浏览器来提升联盟营销的效果和安全性。一、什么是防关联指纹浏览器?防关联指纹浏览器是一种工具,它可以模拟不同的浏览器指纹特征,如用户代理、操作系统......
  • 如何选择合适的文档外发加密系统,就看这几点!
    目前信息化已成为品牌实现可持续发展和提高市场竞争力的重要保证,但随着计算机技术、网络技术与通讯技术的发展,企业内部纷纷开始建立企业内部的局域网络,企业追随信息化的步伐逐渐增强计算机及其网络等硬件的同时,各种新兴办公软件也逐步搬上了公司台面,但是网络通讯方便的背后,隐藏着......
  • springcloud gateway 获取响应体进行加密操作,byte[]转换String乱码
    记录一下困扰一星期的问题!在全局过滤器中,获取响应体进行加密操作,在拿到byte[]之后转成String,控制台打印出来是乱码,编码也加了UTF-8还是报错。publicMono<Void>filter(ServerWebExchangeexchange,GatewayFilterChainchain){ServerHttpResponseoriginalResponse=ex......
  • 解密IP分片与重组:数据传输中的关键技术
    引言在上一章节中,我们详细讨论了IP的分类和无分类原则的原理以及其在网络通信中的应用。IP分片与重组是在数据包传输过程中起到关键作用的机制。当数据包的大小超过网络链路的MTU(最大传输单元)限制时,IP分片将数据包分割为多个较小的分片进行传输。这些分片在网络中独立传输,到达目......
  • JavaScript解密日记5
    引言:在从事JAVA工作的第五个年头,突然开始对js加密js解密感兴趣。开始了探索的路程1.JavaScript基础知识:JavaScript是一种用于Web开发的脚本语言,它包括以下基础概念:变量(Variables):用于存储数据的容器,可使用var、let或const关键字声明。数据类型(DataTypes):包括数字、字符串、布......
  • 用C#实现DES加密解密
    using  System;  using  System.Security.Cryptography;  using  System.Text;  using  System.IO;    namespace  Common  ...{          /** <summary>           /// DESEncrypt加密解密算法。           ///</summa......
  • SpringBoot | 加密算法使用示例
    欢迎参观我的博客,一个Vue与SpringBoot结合的产物:https://poetize.cn博客:https://gitee.com/littledokey/poetize-vue2.git聊天室:https://gitee.com/littledokey/poetize-im-vue3.git后端:https://gitee.com/littledokey/poetize.git七牛云登录/注册地址(文件服务器,CDN):https:/......
  • ScanPay - 开源加密货币支付解决方案
    在加密货币领域的不断发展和演变中,ScanPay(GitHub链接:https://github.com/BlockATMOnLine/ScanPay )已经崭露头角,成为商户们的首选支付解决方案。ScanPay是一款开源免费的支付解决方案,为商户提供包括USDT-TRC20、USDT-ERC20等各类加密货币代收代付功能,适应了这一不断变化的数字货......
  • 485_这个字体网站还能用来加密消息,奇怪的知识又增加啦!
    这是一篇原发布于2020-02-1813:19:00得益小站的文章,备份在此处。前言前一篇文章我们研究了InstagramFonts这个网站,在文末留下了一个悬念,实际上利用DesignYourOwnFont按钮中的功能甚至可以制作一个简易的加密文本。教程开始1.点击DesignYourOwnFont按钮,或直接访问https......