2

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鍵はどこですか。

私はこれを見つけました: Java用のMCryptですが、動作させることができませんでした。これを行うことができる他のライブラリはありますか? あるいは、MCrypt の Java バージョンを使用してこれを行う方法の例かもしれません。

4

2 に答える 2

1

CI_Encryptクラスを見てください。mcryptライブラリの呼び出しに加えて、さまざまな非標準的なことを行います。一例として、暗号化されたデータを独自に発明した _add_cipher_noise方法で実行します。また、暗号化された形式がバージョンごとに変更されているようです。これは、これが再び発生する可能性があることを示しています。

暗号化されたデータを codeignite の外部で使用する場合は、mcrypt で暗号化されたデータの codeignite 独自のパッケージのように見えるものを使用しないでください。

于 2013-10-23T23:45:39.453 に答える
1

CI_Encrypt を避け、このPHP-Java-AES-Encryptを少し変更して使用することにしました。ノイズを追加し、2 種類のキーを使用します。また、古い暗号化データを新しい形式に変換するツールも作成しています。

于 2013-11-06T10:58:39.187 に答える