キーを生成するためにjavax.crypto.KeyGeneratorを使用しています。以下はKeyGeneratorのAESとDESのキーサイズ
はAESのために私のコードです:DESのための
Key key = null;
SecureRandom rand = new SecureRandom();
KeyGenerator generator;
try {
generator = KeyGenerator.getInstance("AES");
generator.init(rand);
generator.init(128);
key = generator.generateKey();
} catch (NoSuchAlgorithmException e) {
e.printStackTrace();
}
System.out.println("AES key is : ");
System.out.println(Base64.getEncoder().encodeToString(key.getEncoded()));
コード:
Key key = null;
SecureRandom rand = new SecureRandom();
KeyGenerator generator;
try {
generator = KeyGenerator.getInstance("DES");
generator.init(rand);
generator.init(56);
key = generator.generateKey();
} catch (NoSuchAlgorithmException e) {
e.printStackTrace();
}
System.out.println("DES key is : ");
System.out.println(Base64.getEncoder().encodeToString(key.getEncoded()));
私はDESを使用するときにあなたが見ることができるように、私は(INITに56を渡す必要が)などの方法、 AESで128に反対した。
誰かが私が128ビットを使用できない理由と、この2つのタイプからどの暗号化が好ましいのか説明してもらえますか?
わずかな修正では、AESは実際には「DESの高度なバージョン」ではなく、2つのアルゴリズムは実際には全く関連していません。 DESはAESに置き換えられました。 –