Javascript 角域特殊字符AES加密中的问题

Javascript 角域特殊字符AES加密中的问题,javascript,angular,encryption,aes,Javascript,Angular,Encryption,Aes,我正在尝试在angular中使用AES加密密钥。当字符串中没有特殊字符时,加密逻辑工作良好,但如果有任何特殊字符,则在解密时会得到垃圾字符。下面是我在angular中的加密逻辑 apikey_encrypt('N33yKKHeX/2jhlTomUQ5reYypP6rCk8MrHrkjSJSerNEAce3tVhvP656NE5rJbrquDLSQ0i5p1B5C1nK6XYR','prod') { var db_env; if (db_config === 'prod') {

我正在尝试在angular中使用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;
}

在当前代码中,密钥太长(63字节),AES使用16、24或32字节的密钥。此外,IV没有定义。请发布示例数据以重现问题:明文、密钥、IV。此外,缺少解密方法。