如何解决带有特殊字符的AES加密问题
我正在尝试使用AES角度加密密钥。当字符串中没有特殊字符时,加密逻辑工作良好,但是如果有特殊字符,解密时我将得到垃圾字符。下面是我在angular中的加密逻辑
apikey_encrypt('N33yKKHeX/2jhlTomUQ5reYypP6rCk8MrHrkjSJSerNEAce3tVhvP656NE5rJbrquDLSQ0i5p1B5C1nK6XYR','prod') {
var db_env;
if (db_config === 'prod') {
db_env = 'EiOjLcOtbfX46zrX8kcLp4ZXzOyJe19AwBf9xXATbLJceqnDjCx1FvMxRDhrEqHJrC2nBH33o3N7BR/nzHoN'
}
else {
db_env = environment.apiKey
}
var cur_timestamp = Math.floor(Date.now());
var concatenated_api_key = 'N33yKKHeX/2jhlTomUQ5reYypP6rCk8MrHrkjSJSerNEAce3tVhvP656NE5rJbrquDLSQ0i5p1B5C1nK6XYR'+'&qit'+cur_timestamp+'/tin'
const key = CryptoJS.enc.Utf8.parse(db_env);
const iv = CryptoJS.enc.Utf8.parse(environment.ivstring);
var encrypted = CryptoJS.AES.encrypt(concatenated_api_key,key,{
// instead of message try some string or “9876543210”
iv: iv,keySize: 256,padding: CryptoJS.pad.NoPadding,mode: CryptoJS.mode.CTR
});
// var encrypted_mob = salt.toString() + iv.toString() +
encrypted = encrypted.toString();
const headers = { 'Content-type': 'application/json','x-api-key': encrypted }
return headers;
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。