2009-05-07 12 views
2

の両方に共通のAES暗号化のパディングが、私はAES暗号化のためのモードは、JavaとC#.NETの両方に共通しているパディングのC#.NETとJava

おかげ BAPI

答えて

0

カップルパディングアルゴリズムを知りたいですWikipediaに概要が記載されています。いくつかの重要なアプリケーション(たとえば、Oracleクライアント)でPKCS7が使用されています。実装が簡単ではないので、どちらのプラットフォームでもそれをサポートしていない場合でも心配する必要はありません。すべてのJCEプロバイダがそうであるように

1

なし、PKCS7、ゼロ

DOTNETは、これらの3をサポートしていません。

java < - >。net AESをお探しの場合は、Bouncy Castleをお勧めします。両方とも無料のライブラリがあります。

http://www.bouncycastle.org/

+0

+1バウンシーキャッスル! Bouncy Castle(重大なバグ)の場合は –

+0

-1 暗号化アプリケーションを開発する場合は、プロバイダーから独立させることをお勧めします。 JCEはそうするように設計されています。その後、さまざまなプロバイダでテストします。 – Accipitridae

+0

@Acc、bouncy castle以外のcross .net/java libsのオプションはあまりありません...もっと役に立つものがあれば教えてください。 –

0

私はクラスのプロジェクトに取り組んでおり、ハードな方法いくつかの詳細を考え出しました。まず、JavaはPKCS7のパディングをサポートしていますが、別の名前でサポートしています。それはPKCS5と呼ばれています。一部のプログラマーは、JavaがPKCS7をサポートしていないが、別の(古い)パディングタイプをサポートしているという誤った信念のため、Bouncy Castleを使用しています。 Bouncy Castleにひどいバグがあることが判明したことを除いて、これは本当に重要ではありません。私のプロジェクトは、AESの実装に依存していました。単一のdoFinalで一度にすべてのデータを暗号化すると機能しますが、ブロックの暗号化はひどく間違っており、データを渡すために使用されたバッファサイズによって結果が変わってしまいます。 Sunの実装に戻ると、同じコードで正しい結果が得られました。言うまでもなく、それは数日間のデバッグにかかった。