расшифровать строку в AES, используя php - PullRequest
0 голосов
/ 18 марта 2020

Я сейчас работаю над шифрованием и дешифрованием. Я зашифровал свой ключ API с помощью https://medium.com/@amitasaurus / encrypting-decrypting-a-string-with-aes- js -1d9efa4d66d7 , как показано ниже

            var api_key = Math.random().toString(36).substring(2, 15) + Math.random().toString(36).substring(2, 15);
            var d = new Date();
            var n = d.getTime();
            var final_key = api_key+'/'+n;
            var encrypted = CryptoJS.AES.encrypt('encryption', final_key);
            var encrypted_key = encrypted.toString();

, и передал зашифрованный ключ на стороне сервера. Я использовал

<?php
$key = pack("H*", "0123456789abcdef0123456789abcdef");
$iv =  pack("H*", "abcdef9876543210abcdef9876543210");
$encrypted = base64_decode('U2FsdGVkX19gHSzwsrc5H9K6rqDYr2E8oYoVNSp8INU=');
$decrypt_string = mcrypt_decrypt(MCRYPT_RIJNDAEL_128, $key, $encrypted, MCRYPT_MODE_CBC, $iv);
echo $decrypt_string;

?> Для расшифровки зашифрованной строки. Когда я печатаю расшифрованную строку, это выглядит так: ���9Һ�� د a <��5 * | ա � � 놻 �� V� [�} ��ID-�} �� 硵 � Любые предложения для печати в виде декодированной строки? </p>

1 Ответ

1 голос
/ 18 марта 2020

mcrypt по умолчанию заполнение нулями. Это означает, что независимо от того, какую комбинацию шифротекста и клавиш вы используете, распаковка не приведет к сбою . Вместо этого он просто возвращает недействительный случайный открытый текст.

Crypto JS по умолчанию использует извлечение ключей OpenSSL по заданному паролю. Ваше дешифрование будет возвращать случайный открытый текст, если вы не можете имитировать c окончательное значение ключа AES, которое генерируется Crypto JS.

Современные режимы, такие как GCM, включают тег аутентификации с зашифрованным текстом, так что действительность комбинации шифртекст / ключ обеспечена, или будет сгенерирована ошибка проверки. Обратите внимание, что режим CB C абсолютно не защищен, когда напрямую используется для обеспечения безопасности в транспортном режиме.

...