0

ああ、レガシー アプリの喜び。

古い Kohana 3 PHP アプリを Ruby/Rails に移行しています。フィールドがデータベースに保存され、Kohana の「暗号化」モジュールを使用して暗号化されました。http://kohanaframework.org/3.0/guide/api/Kohana_Encrypt

データを移行するときは、これらの値を復号化してから、別のものを使用して再暗号化する必要があります。

しかし、私の Mcrypt の知識はゼロであり、復号化できないようです。

私が知っていること:

  • Kohana は使用するようにセットアップされています -- 暗号: MCRYPT_RIJNDAEL_128、モード: MCRYPT_MODE_NOFB、そしてキーを持っています
  • Kohana base64 エンコードのデータを格納する前に
  • 初期化ベクトルがどこにも見つかりません。Kohana はデータごとにカスタム IV を使用しているように見えますか?
  • Mcrypt に使用する Ruby gem があります。https://github.com/kingpong/ruby-mcrypt 2 番目のパラメーターが必要です。"cbc" がその例です。これが何のためなのか、この従来の Kohana プロジェクトでその情報がどこにあるのかわかりません。

このデータを復号化する方法についてのアイデアはありますか? 必要な情報はすべて揃っていますか? 私は少し迷っています...

前もって感謝します。

4

2 に答える 2

0

私があなたなら、Kohana アプリのデータベースに新しいフィールドを作成し、Kohana 復号化関数を使用して値を復号化して新しいフィールドに格納するスクリプトを作成します。

データベースを Ruby に移植し、これらの値を暗号化して Ruby で暗号化する方法に戻すスクリプトを作成する場合。その後、新しいフィールドを削除します。

これにより、移行の苦痛が大幅に軽減されます。

于 2013-08-23T12:21:22.420 に答える