私は暗号化サービス(.Net Class Lib)を持っています。暗号化と復号化がうまくいく限り、Javaに移植する必要がありますが、問題は暗号化された値をデータベースに保存しなければならないことです。 Java サービスによって生成される暗号化値は、.Net クラス ライブラリによって生成される値と一致する必要があります。
値を暗号化するとandroid
、両方のサービスが異なる暗号化された値を生成するとします。考えられる回避策または探すべきものは何ですか...
私は暗号化サービス(.Net Class Lib)を持っています。暗号化と復号化がうまくいく限り、Javaに移植する必要がありますが、問題は暗号化された値をデータベースに保存しなければならないことです。 Java サービスによって生成される暗号化値は、.Net クラス ライブラリによって生成される値と一致する必要があります。
値を暗号化するとandroid
、両方のサービスが異なる暗号化された値を生成するとします。考えられる回避策または探すべきものは何ですか...
一般に、暗号化システムには次のパラメータがあります。
システムは任意の言語と任意のプラットフォームで開発できます。これら 3 つが同じであれば、どの実装からの出力も同じになります。アルゴリズムは基本単位としてバイトを使用する必要があるため、プラットフォームのエンディアンなどは問題ではありません。
エルゴ、同じ入力に対して異なる出力を取得している場合、それらの1つ以上が間違っています:)
独自の暗号化システムを開発した場合 (たとえば、自分で 3DES を実装した場合)、おそらくそこに間違いがあります。暗号システムの実装は常に学術専門家に任せてください。
キーと IV を正しく設定すると仮定します。これにより、暗号ブロック モードが終了します。異なるプラットフォームには独自のデフォルトがあるため、これが最も妥当な説明です。
ただし、これらすべてが .NET と Java の両方の実装で同じであることを確認した場合は、質問を再投稿する必要がありますが、関連するソース コードを含む詳細を記載してください。