Расшифруйте данные с помощью ключа AES-128 и соль в PHP - PullRequest
0 голосов
/ 18 января 2019

Я новичок в методологии шифрования AES и пытаюсь реализовать шифрование данных на стороне клиента и расшифровать данные на стороне сервера.

На данный момент я реализовал клиентский портал на Java и серверные скрипты на PHP. Я определяю AES-ключ, соль и шифрую данные на стороне клиента (In-JAVA) с помощью AES-ключа и соли. Теперь я вызываю API с параметром key, salt и data на сервер (php script) и пытаюсь расшифровать данные. Я использую phpseclib lib для расшифровки данных.

У меня есть образец decrypt, как показано ниже. (Примечание: - Я уже декодирую с помощью base64_decode этот ключ, соль и данные перед отправкой в ​​эту функцию)

public function decryptAES($data,$key,$salt){
     $cipher = new Crypt_AES(CRYPT_MODE_CBC);
     $ivsize = strlen($salt);
     $cipher->setIV($salt);
     $cipher->setKey($key);
     $decrypt = $cipher->decrypt($data);
     echo($decrypt);
     return $decrypt;
}

Я получаю сообщение decrypt как ноль. Я заглянул в библиотеку и просмотрел некоторые классы, названные «Base.php», и попытался отладить, когда он фактически расшифровывает данные. Я сбросил открытый текст и получил вывод, как показано ниже.

<code><pre class='xdebug-var-dump' dir='ltr'>
    <small>G:\Installer\wamp64\www\userRegistration\lib\phpseclib\Crypt\Base.php:1081:</small>
    <small>string</small>
    <font color='#cc0000'>'Zx�Q���&#39;m�ԉ��^�ܶB�eKs�&gt;�`&#0;�_����c^��m������h�~Ut�&#39;�'</font>
    <i>(length=64)</i>

Может ли кто-нибудь помочь мне в этом? или это правильно сделать или методологию, которую я здесь пропустил?

...