どのように私はJavaでAESアルゴリズムを使用して文字列を暗号化する代わりに、ランダムなキーを作成しますJavaでAESアルゴリズム用に独自のキーを作成するにはどうすればよいですか?
KeyGenerator kgen = KeyGenerator.getInstance("AES");
を使用するための私自身のキーを作成することができますか?
どのように私はJavaでAESアルゴリズムを使用して文字列を暗号化する代わりに、ランダムなキーを作成しますJavaでAESアルゴリズム用に独自のキーを作成するにはどうすればよいですか?
KeyGenerator kgen = KeyGenerator.getInstance("AES");
を使用するための私自身のキーを作成することができますか?
kgen
はキーではありません。実際のキーはSecretKeySpec
オブジェクトです。あなたはSecretKeySpec使用することにより...下記の例を参照してください...生のバイトを使用して
KeyGenerator kgen = KeyGenerator.getInstance("AES");
kgen.init(128);
byte raw[] = {1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16};
SecretKeySpec spec = new SecretKeySpec(raw, "AES");
//SecretKey key = kgen.generateKey();
//byte keybytes[] = key.getEncoded();
//SecretKeySpec spec = new SecretKeySpec(keybytes, "AES");
をあなたのキーを作成することができます(あなたが直接キーとして `SecretKeySpec`を使用することができます
SecretKey key = new SecretKeySpec(bytes, "AES");
注意をそれ乱数バイトをキーとするアルゴリズムを持っている場合は、 'SecretKey'インターフェースを実装しています。これはAESおよびDES ABCキー(DESedeでの使用)には少なくとも当てはまりますが、後者ではパリティビットは無視されます。キーをフィールドとして保存する場合、[SecretKeyFactory](http://docs.oracle.com/javase/6/docs/api/javax/crypto/SecretKeyFactory.html)を使用して、「フェイル・ファスト"シナリオ。 –
Ohk ...重要な情報のためのthnks .. :) –