web-dev-qa-db-ja.com

JavaとRubyの間のAES暗号化:JavaのAESのデフォルトモードとパディングは何ですか?

私はRubyアプリを暗号化する必要があり、Javaアプリが復号化できる必要があるアプリです。このためにいくつかの調査を行いました。そして私はこれを持っていますJavaコードは今:

Cipher cipher = Cipher.getInstance("AES");

doc 内では、フォーマットは次のいずれかになります。

「アルゴリズム/モード/パディング」または「アルゴリズム」

私が上に投稿した私たちの場合、それは単なる「アルゴリズム」です。しかし、そのモードとパディングのデフォルトは何ですか?また、それが256や128などであるかどうかもわかりません。AESのデフォルトが何なのかわかりません。Javaプログラマーではないので、見逃してすみません。 Rubyで複製できるようにするためです。

2
cfernandezlinux

デフォルトの操作モードとパディングは、JCA標準では定義されていません。各プロバイダーは、異なるデフォルト値を自由に提供できます。ご想像のとおり、デフォルト値に依存することは完全に信頼できないため、常に操作のモードとパディングを明示的に設定する必要があります。

Oracle JDK 7の場合、AESのデフォルトはAES/ECB/PKCS5Paddingです。

4
user10211