我正在尝试使用AES技术对密码进行加密,并将其发送到在.net上开发的api。我面临的问题是我遇到了错误:
我正在使用Crypto-JS类型的版本:Crypto-JS Doc
填充无效,无法删除。
我的打字稿代码是:
let encrypted = CryptoJS.AES.encrypt('Coll@123', '16ad55fd-598b-45d7-a371-a1e011ec1345', {iv: '6fcc45cc3a8a4764'}).ciphertext.toString();
console.log("Encrypted: ", encrypted);
let decrypted = CryptoJS.AES.decrypt(encrypted, "16ad55fd-598b-45d7-a371-a1e011ec1345", {iv: '6fcc45cc3a8a4764'}).toString(CryptoJS.enc.Base64)
console.log("Decrypted: ", decrypted);
我的.net代码是:
public static string encrypt(string encryptString, string EncryptionKey)
{
Cryptography cript = new Cryptography();
string ivString = AppConstants.EncryptionKey_IV_Default; //16 character IV
string key = cript.getHashSha256(EncryptionKey, 32);
string cipherText = cript.Encrypt(encryptString, key, ivString);
return cipherText;
}
注意:我尚未开发使用其他API的.net代码。
请帮助我不知道我在做什么错。这里有我想念的东西吗?