2012-02-18 8 views

答えて

2

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"); 
+1

注意をそれ乱数バイトをキーとするアルゴリズムを持っている場合は、 'SecretKey'インターフェースを実装しています。これはAESおよびDES ABCキー(DESedeでの使用)には少なくとも当てはまりますが、後者ではパリティビットは無視されます。キーをフィールドとして保存する場合、[SecretKeyFactory](http://docs.oracle.com/javase/6/docs/api/javax/crypto/SecretKeyFactory.html)を使用して、「フェイル・ファスト"シナリオ。 –

+0

Ohk ...重要な情報のためのthnks .. :) –

4

をあなたのキーを作成することができます(あなたが直接キーとして `SecretKeySpec`を使用することができます

SecretKey key = new SecretKeySpec(bytes, "AES"); 
関連する問題