在PHP中使用AES-128密钥和盐解密数据

时间:2019-01-18 06:30:37

标签: php encryption aes phpseclib

我是AES加密方法的新手,尝试在客户端实现加密数据并在服务器端解密数据。

到目前为止,我已经实现了用Java实现客户端门户和使用PHP实现服务器脚本的功能。我定义AES密钥,salt,并借助AES密钥和salt在客户端(In-JAVA)中加密数据。现在,我正在调用带有参数密钥,盐和数据的API到服务器(php脚本),并尝试解密数据。 我正在使用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消息为空。我查看了lib,并浏览了一些名为“ Base.php”的类,并尝试在实际解密数据时进行调试。我转储明文,并得到如下输出。

<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>
</pre>

有人可以帮我吗?还是这种方法正确或者我在这里错过了任何方法?

0 个答案:

没有答案