我正在使用Encrypt类加密来自codeigniter的一些数据,这将被发送到java程序并需要在那里解码。
php代码:
$this->load->library('encrypt');
$this->encrypt->set_key(SERVER_ENCRYPT_KEY);
$this->encrypt->set_mode(MCRYPT_MODE_CFB);
$this->data = $this->encrypt->encode($this->input->post('data'));
其中SERVER_ENCRYPT_KEY
是关键。
我发现了这个:MCrypt for Java但我无法使其发挥作用。 还有其他的库可以做到这一点吗?或者使用java版本的MCrypt来做一个例子。
答案 0 :(得分:1)
查看CI_Encrypt课程。除了调用 mcrypt 库之外,它还会执行各种非标准的操作。作为示例,它通过自己发明的_add_cipher_noise
方法运行加密数据。此外,似乎加密格式已经改变了不同的版本 - 表明这可能再次发生。
如果您要在codeignite之外使用加密数据,则不应使用看起来像codeignites自己的mcrypt加密数据包装。
答案 1 :(得分:1)
我决定避免CI_Encrypt并使用此PHP-Java-AES-Encrypt进行小的更改:添加噪音并使用两种类型的键。我还构建了一个工具,将旧的加密数据转换为新格式。