前端:
安装包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();
}

1282

被折叠的 条评论
为什么被折叠?



