分享一个前后端AES加解密的方法

147 阅读1分钟

直接上代码 前端

image.png 先要引入一个aes 的js文件

image.png

页面展示

image.png

C# 后端解前端AES加密后的

/// <summary>
        /// AES解密
        /// </summary>
        /// <param name="toDecrypt">需要解密的值</param>
        /// <param name="key">解析的键</param>
        /// <param name="iv">初始化向量</param>
        /// <returns>UTF8编码格式字符串</returns>
        public static string Decrypt(string toDecrypt, string key, string iv)
        {
            //把字符串解析成二进制
            byte[] bytes = Encoding.UTF8.GetBytes(key);
            byte[] bytes2 = Encoding.UTF8.GetBytes(iv);
            byte[] array = Convert.FromBase64String(toDecrypt);

            //初始化一个对称算法
            RijndaelManaged rijndaelManaged = new RijndaelManaged();
            rijndaelManaged.Key = bytes; //算法的key = 解析的键
            rijndaelManaged.IV = bytes2; //算法的初始化向量 = 解析的初始化向量
            rijndaelManaged.Mode = CipherMode.CBC; //加密方式
            //rijndaelManaged.Padding = PaddingMode.Zeros; //参数长度不够默认填充为0的加密数据

            //实例化解密对象
            ICryptoTransform cryptoTransform = rijndaelManaged.CreateDecryptor();
            //进行解密
            byte[] bytes3 = cryptoTransform.TransformFinalBlock(array, 0, array.Length);

            return Encoding.UTF8.GetString(bytes3);
        }

需要去知道定义的Key 是什么如果没有这个钥匙是不开锁的