Как расшифровать 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 и есть скрипт в корне, с кодом выше