Может ли кто-нибудь помочь мне с AES? Я использовал phpseclib для шифрования и дешифрования данных, однако, похоже, он не смог расшифровать данные. см. мой код ниже. Я хотел расшифровать данные на других страницах. Заранее спасибо!Шифрование AES с использованием phpseclib
$base64 = "AAA";
$cipher = new Crypt_AES();
$cipher->setKey('QrzMwvH7zmVn5Kzu%ks8GSTWzyLJu#Ck!^f%-UpXefuYBhv^%qLwYsuPx0d&zmNo');
$cipher->setIV(crypt_random_string($cipher->getBlockLength() >> 3));
echo $encrypted = $cipher->encrypt($base64);
$cipher = new Crypt_AES();
$cipher->setKey('QrzMwvH7zmVn5Kzu%ks8GSTWzyLJu#Ck!^f%-UpXefuYBhv^%qLwYsuPx0d&zmNo');
$cipher->setIV(crypt_random_string($cipher->getBlockLength() >> 3));
echo 'decrypted:'. $cipher->decrypt($encrypted);
Результат
% NKy0k: расшифровано:
Update:
Означает ли это, что это необходимо, чтобы сохранить список Инициализация вектора для дешифрования данных?
Update:
Я решил использовать Lumen Framework. Lumen имеет встроенную функцию encrpytion, которая обрабатывает IV и другие технические характеристики. Спасибо за вашу помощь!
Я пробовал использовать его, прежде чем я решил использовать библиотеку. Я столкнулся с ошибкой/предупреждением о том, что мне нужен Инициализационный вектор, который у меня нет, чтобы понять, что это такое. – bwaaaaaa
есть очень хороший пример на [здесь] (http://creepergaming.net/encrypt) использует openssl –
@bwaaaaaa Это просто означает, что вам нужно сделать перерыв, чтобы изучить шифрование. Простое использование шифрования и дешифрования не обеспечивает безопасность, если оно не используется должным образом. – zaph