@accountnujen

Как в javascript расшифровать зашифрованный (aes-128-ecb) текст в php?

При попытке расшифровать текст, который был зашифрован в php я получаю ошибку "Uncaught Error: Malformed UTF-8 data"
Обратился к ИИ, получил тоже самое, что у меня есть

Приведи пример шифрования текста в PHP с помощью AES-128-ECB. И пример расшифровки этого текста в javascript

Конечно! Вот пример шифрования текста с использованием AES-128-ECB в PHP:
<?php

function encrypt($plainText, $key) {
    $cipher = "AES-128-ECB";
    $options = OPENSSL_RAW_DATA;
    $encryptedText = openssl_encrypt($plainText, $cipher, $key, $options);
    $encodedText = base64_encode($encryptedText);
    return $encodedText;
}

$plaintext = "This is a secret message.";
$key = "mysecretpassword";

$encryptedText = encrypt($plaintext, $key);
echo "Encrypted Text: " . $encryptedText;
?>

А вот пример расшифровки этого текста с помощью JavaScript:
// Функция для расшифровки текста с использованием AES-128-ECB
function decrypt(encryptedText, key) {
    var decryptedBytes = CryptoJS.AES.decrypt(encryptedText, key);
    var plaintext = decryptedBytes.toString(CryptoJS.enc.Utf8);
    return plaintext;
}

var encryptedText = "QunJXb1tnEFP7+KX4S3GfQ=="; // Замените на свой зашифрованный текст
var key = "mysecretpassword"; // Замените на свой ключ

var decryptedText = decrypt(encryptedText, key);
console.log("Decrypted Text:", decryptedText);



Что нужно исправить?
  • Вопрос задан
  • 131 просмотр
Решения вопроса 1
@StiflerProger
function decrypt(encryptedText, key) {
  var decryptedBytes = CryptoJS.AES.decrypt(
    {
      ciphertext: CryptoJS.enc.Base64.parse(encryptedText)
    },
    CryptoJS.enc.Utf8.parse(key),
    { mode: CryptoJS.mode.ECB }
  );
  
  var plaintext = decryptedBytes.toString(CryptoJS.enc.Utf8);
  return plaintext;
}

var encryptedText = "P6WsUEHMRTa620LtYJ3Nqu9yKhGev0ZL4Ps+z61kWN4="; // Замените на свой зашифрованный текст
var key = "mysecretpassword"; // Замените на свой ключ

var decryptedText = decrypt(encryptedText, key);
console.log("Decrypted Text:", decryptedText);
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы