Как расшифровать GET параметр из ссылки с помощью JS и модулей CryptoJS и base64url (шифрование base64url и AES/ECB/PKCS5Padding)

имеется ссылка по которой пришёл пользователь, ей присвоен get параметр допустим cpc значение этого параметра cpc="закодировано в base64url" и перед этим значение в base64url было закодировано с помощью алгоритма AES/ECB/PKCS5Padding

Нам дали в пример такой код

const CryptoJS = require('crypto-js');
const base64url = require('base64url');


function decrypt(key, cpcValue) {

// Handle a case where the value was *not* encrypted:
    if (!isNaN(cpcValue)) {
        return parseFloat(cpcValue)
    }
// Handle the regular case (value *was* encrypted):
    let keyBytes = CryptoJS.enc.Hex.parse(key);
    let decrypt = CryptoJS.AES.decrypt(base64url.toBase64(decodeURIComponent(cpcValue)), keyBytes, {
        mode: CryptoJS.mode.ECB,
        padding: CryptoJS.pad.Pkcs7
    });
    let decryptedStr = CryptoJS.enc.Utf8.stringify(decrypt).toString();
// 1.23_1612281007670
    let validation_regex = /^(\d)+((\.)\d+)?\_/;
// Check that the decrypted value is valid
    if (!validation_regex.test(decryptedStr)) {
        throw 'Decrypted value is not valid!';
    }
    return parseFloat(decryptedStr.split('_')[0]);
}

let val1 = decrypt("6568b281bd3b04c1dbaa874884eec820", "ijdCcusYs3p5rBuAgnhlWcwBuSuw2W8LXIP_7pn4arM=");
let val2 = decrypt("6568b281bd3b04c1dbaa874884eec820", "1.23");

Подскажите что с ним делать, как встроить в проект? Пока что застрял на том, что не могу подключить эти модули)))) require не может найти выдаёт ошибки

Uncaught SyntaxError: Identifier 'CryptoJS' has already been declared

файл js с кодом выше, находиться в корне директории этого проекта, модули лежат тоже в корне в соответствующих папках

так же ошибку выдаёт, когда вроде бы все отлично подключил

Uncaught ReferenceError: require is not defined
    at descrypt.js:1
(anonymous) @ descrypt.js:1

собственно descrypt.js и есть скрипт в корне, с кодом выше


Ответы (0 шт):