前端CryptoJS.AES + 后端net core Security.Cryptography实现AES加密解密

前端:
安装包npm install crypto-js

import CryptoJS from 'crypto-js'
const encryptByAES = (user, key, iv) => {
  const keyHex = CryptoJS.enc.Utf8.parse(key);
  const ivHex = CryptoJS.enc.Utf8.parse(iv);
  const userHex = CryptoJS.enc.Utf8.parse(user);
  const encrypted = CryptoJS.AES.encrypt(userHex, keyHex, {
   mode: CryptoJS.mode.CBC,
   padding: CryptoJS.pad.Pkcs7,
   iv: ivHex
   });
  return encrypted.toString();
}

后端:

using System.Security.Cryptography;
private static string DecryptByAES(string input, string key, string iv)
        {
            if (string.IsNullOrWhiteSpace(input))
            {
                return input;
            }
            var buffer = Convert.FromBase64String(input);
            using Aes aes = Aes.Create();
            aes.Mode = CipherMode.CBC;
            aes.Padding = PaddingMode.PKCS7;
            aes.FeedbackSize = 128;
            aes.Key = Encoding.UTF8.GetBytes(key);
            aes.IV = Encoding.UTF8.GetBytes(iv);
            ICryptoTransform decryptor = aes.CreateDecryptor(aes.Key, aes.IV);
            using MemoryStream msEncrypt = new(buffer);
            using CryptoStream csEncrypt = new(msEncrypt, decryptor, CryptoStreamMode.Read);
            using StreamReader srEncrypt = new(csEncrypt);
            return srEncrypt.ReadToEnd();
        }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值