Key를 생성하기 위해 javax.crypto.KeyGenerator를 사용하고 있습니다. DES에 대한KeyGenerator에서 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를 사용하는 경우, 내가 (초기화하기 (56)을 통과해야 볼 수있는) 방법으로 다음
은 AES에 대한 내 코드입니다 AES에서 128에 반대했다.누군가 내가 128 비트를 사용할 수없는 이유와이 두 유형에서 어느 암호화가 더 좋은지 설명해주십시오.
약간의 수정, AES는 실제로 "DES의 고급 버전"이 아니며 두 알고리즘은 실제로 전혀 관련이 없습니다. DES는 단순히 AES로 대체되었습니다. –