Я возился с crypto-js и AES.
У меня, казалось бы, простой фрагмент кода, который берет обычный текст и шифрует его, используя AES с ключом и исходным вектором.
Когда я пытаюсь расшифровать зашифрованный текст, он расшифровывается впо какой-то причине пустая строка.
Это фрагмент:
const { enc, AES } = require("crypto-js");
const KEY = enc.Utf8.parse("this is a key");
const IV = enc.Utf8.parse("this is initial vector");
const originalText = "someone@example.com";
const hash = AES.encrypt(originalText, KEY, { iv: IV });
const hashText = hash.toString();
console.log(`"${originalText}" was encrypted to "${hashText}"`);
const hashTextCopy = `${hashText}`;
const decrypt = AES.decrypt(hashTextCopy, KEY, { iv: IV });
const decryptText = decrypt.toString(enc.Utf8);
console.log(`"${hashTextCopy}" was decrypted to "${decryptText}"`);
Вывод, который я получаю:
"someone@example.com" was encrypted to "IgyDXGNVD8IokknoZqjamG0QecGvBM/dyxx4il8gCHA="
"IgyDXGNVD8IokknoZqjamG0QecGvBM/dyxx4il8gCHA=" was decrypted to ""
Может кто-нибудь объяснить, что происходит?Я видел немало примеров по Интернету, и все они, кажется, работают нормально.Но здесь текст не расшифровывается.
PS : Я использую версию "crypto-js": "^3.1.9-1",