0

目标:我打算在 PHP 中加密 JSON 响应,一旦 android 应用程序收到该响应,它就会解密它。

我能够在 PHP 中找到加密和解密函数:

<?php
   function simple_encrypt($text)
    {
    $salt = "anything";
        return trim(base64_encode(mcrypt_encrypt(MCRYPT_RIJNDAEL_256, $salt, $text, MCRYPT_MODE_ECB, mcrypt_create_iv(mcrypt_get_iv_size(MCRYPT_RIJNDAEL_256, MCRYPT_MODE_ECB), MCRYPT_RAND))));
    }

    function simple_decrypt($text)
    {
        $salt = "anything";
        return trim(mcrypt_decrypt(MCRYPT_RIJNDAEL_256, $salt, base64_decode($text), MCRYPT_MODE_ECB, mcrypt_create_iv(mcrypt_get_iv_size(MCRYPT_RIJNDAEL_256, MCRYPT_MODE_ECB), MCRYPT_RAND)));
    }
?>

(我实际上并不需要该simple_decrypt功能,我只是在测试它。我实际上需要的只是服务器端的加密和客户端的解密(我的android应用程序))

所以我需要一个类似于 simple_decrypt 但用 Java 编写的函数,这样我就可以解密我的响应。

我不知道该怎么做,因为我对加密/解密很陌生。我希望这里的一些专家可以指导我找到适当的解决方案。

4

1 回答 1

0

这是我发现的一些 PHP/Java 代码- 这是对 PHP 代码的改进,因为它使用密码反馈模式 (CFB),它比 ECB(电子密码本)更安全。要在 Java 中使用 256 位 AES,您需要安装本页底部提供的 Java Cryptography Extension 。请注意,PHP 和 Java 代码都需要使用相同的初始化向量——这对于每个密文应该是唯一的,但可以以明文形式传输。

如果您使用 SSL,那么这不是必需的——您只需要在数据从 PHP 到数据库/文件/其他一些持久存储然后到 Java 时执行此操作。

于 2013-04-23T22:54:05.210 回答