我是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���'m�ԉ��^�ܶB�eKs�>�`��_����c^��m������h�~Ut�'�'</font>
<i>(length=64)</i>
</pre>
有人可以帮我吗?还是这种方法正确或者我在这里错过了任何方法?