当前位置: 首页 > news >正文

C# AES-128-CBC 加密

一、加密

        /// <summary>/// 加密/// </summary>public static string AesEncrypt(string toEncrypt){byte[] toEncryptArray = UTF8Encoding.UTF8.GetBytes(toEncrypt);byte[] keyArray = UTF8Encoding.UTF8.GetBytes(Key);//注意编码格式(utf8编码 UTF8Encoding)byte[] ivArray = UTF8Encoding.UTF8.GetBytes(Iv);RijndaelManaged rDel = new RijndaelManaged();rDel.KeySize = 128;rDel.BlockSize = 128;rDel.Key = keyArray;rDel.IV = ivArray;rDel.Mode = CipherMode.CBC;ICryptoTransform cTransform = rDel.CreateEncryptor();//加密byte[] resultArray = cTransform.TransformFinalBlock(toEncryptArray, 0, toEncryptArray.Length);return Convert.ToBase64String(resultArray, 0, resultArray.Length);}

二、解密

        /// <summary>/// 解密/// </summary>public static string AesDecrypt(string toDecrypt){string key32 = Key.PadRight(16);byte[] toEncryptArray = Convert.FromBase64String(toDecrypt);byte[] keyArray = UTF8Encoding.UTF8.GetBytes(Key);//注意编码格式(utf8编码 UTF8Encoding)byte[] ivArray = UTF8Encoding.UTF8.GetBytes(Iv);RijndaelManaged rDel = new RijndaelManaged();rDel.KeySize = 128;rDel.BlockSize = 128;rDel.Key = keyArray;rDel.IV = ivArray;rDel.Mode = CipherMode.CBC;ICryptoTransform cTransform = rDel.CreateDecryptor();//解密byte[] resultArray = cTransform.TransformFinalBlock(toEncryptArray, 0, toEncryptArray.Length);return UTF8Encoding.UTF8.GetString(resultArray);}

三、具体使用

     static void Main(string[] args)
        {
            AESEncoder.Key = "nsmkindi".PadRight(16);

            string s1 = AESEncoder.AesEncrypt("abcd123哪里");
            Console.WriteLine("加密:" + s1);

            string s2 = AESEncoder.AesDecrypt(s1);
            Console.WriteLine("解密:" + s2);

            Console.ReadKey();

        }

四、完结。 

http://www.lryc.cn/news/249979.html

相关文章:

  • 【惊喜福利】Docker容器化部署nextcloud网盘,享受高速稳定的文件共享体验!
  • WPF实战项目十九(客户端):修改RestSharp的引用
  • kobs-ng 烧写nand中的uboot
  • 【Java】扫描指定目录,并找到名称中包含指定字符的所有普通文件(不包含目录),并且后续询问该用户是否要删除该文件
  • PyQt基础_008_ 按钮类控件QSpinbox
  • 3D点云目标检测:VoxelNex解读
  • opencv-利用DeepLabV3+模型进行图像分割去除输入图像的背景
  • 中国版的 GPTs:InsCode AI 生成应用
  • MySQL 学习笔记(刷题篇)
  • windows系统如何配置yarn环境变量
  • 视频中的文字水印怎么去除?这三招学会轻松去视频水印
  • Java项目学生管理系统二查询所有
  • 27.Spring如何避免在并发下获取不完整的Bean?
  • 浅析SD-WAN企业组网部署中简化网络运维的关键技术
  • 【Rust】快速教程——自定义类型、数字转枚举、Cargo运行
  • python 实现 AIGC 大语言模型中的概率论:生日相同问题的代码场景模拟
  • SD-WAN组网中的CPE及云服务CPE部署方法
  • 理解BatchNormalization层的作用
  • uniapp实现文件预览过程
  • 深度学习-学习笔记记录
  • 程序员养生之道:延寿不忘初心——延寿必备
  • 使用Docker安装部署Swagger Editor并远程访问编辑API文档
  • Nacos 2.X核心架构源码剖析
  • C语言--每日选择题--Day31
  • chrome vue devTools安装
  • Spring Security 6.x 系列(7)—— 源码分析之Builder设计模式
  • PyQt6 中自定义浮点型滑块类
  • 笔记,B+树
  • 代码随想录刷题题Day2
  • 【JAVA面向对象编程】--- 探索子类如何继承父类