2011-09-27 7 views
1

私はAESで.netを使ってテキストを暗号化しようとしていて、それをJavaで読むようにしています。JavaはAESのSecretKeySpecからどのように初期化ベクトルを導き出しますか?

私は暗号化のために得たサンプルコードは次のようになります。

byte[] key = ... 
SecretKeySpec keySpec = new SecretKeySpec(key, "AES"); 

どのようにJavaは、のSecretKeyオブジェクトからキーとIVを取得していますか?私はそれらを提供する必要があります。ネットとそれに関する情報が見つかりませんでした。

答えて

3

Cipher.initに渡されたIvParameterSpecのインスタンスを使用して、IVでJavaに暗号を渡すことができます。そうでない場合、ランダムIVが生成され、getIVメソッドCipherによって利用可能になります。

+0

しかし、私がしなければ、それは何を使用していますか? – Haas

+0

私はこの質問に答えるために私の答えを編集しました。 –

+0

それで、それは鍵から派生したものではありませんか?生成された値に注意を払わないと、私は復号化できなくなるでしょうか? – Haas