angular - 如何在Angular中解密随机生成的加密值
问题描述
我正在尝试解密加密的字符串值。每次将字符串值加密为随机值。但是解密时我无法获得原始值。它的空白不打印任何东西。这是我的代码。
get( keys, value) {
const key = CryptoJS.enc.Utf8.parse(keys);
const iv = CryptoJS.lib.WordArray.random(128 / 8);
const encrypted = CryptoJS.AES.encrypt(CryptoJS.enc.Utf8.parse(value.toString()), key,
{
keySize: 128 / 8,
iv,
mode: CryptoJS.mode.CBC,
padding: CryptoJS.pad.Pkcs7
});
return encrypted.toString();
}
set(keys, value) {
const key = CryptoJS.enc.Utf8.parse(keys);
const iv = CryptoJS.lib.WordArray.random(128 / 8);
const decrypted = CryptoJS.AES.decrypt(value, key, {
keySize: 128 / 8,
iv,
mode: CryptoJS.mode.CBC,
padding: CryptoJS.pad.Pkcs7
});
return decrypted.toString(CryptoJS.enc.Utf8);
}
this.encryptedId = this.Service.get('1$#@^@1EFR#', this.code);
this.decryptedId = this.Service.set('1$#@^@1EFR#', params.id);
如果我使用const iv = CryptoJS.enc.Utf8.parse(keys);
而不是const iv = CryptoJS.lib.WordArray.random(128 / 8);
它的工作。但是每次都加密为相同的值。如何解密随机加密的值?
解决方案
推荐阅读
- javascript - javascript在数组中的对象之间保留某些属性
- angular - 多个 Observable 订阅者
- xamarin.forms - 无法理解如何引用共享库 Xamarin
- postgresql - 如何在 Postgresql 查询中删除 pg_catalog 约束?
- javascript - 如何在 Django postgres 中使用 & 运算符组合 SearchQuery,以获取来自表单字段的不确定的多个关键字
- laravel-5 - Laravel:乘法列的总和
- javascript - Javascript跳过相邻值未定义
- git - 挑选提交包括以前的提交?
- php - 脚本未入队
- javascript - 检查字符串数组是否包含javascript中给定字符串的子字符串?