소개
키 암호화라고도 하는 대칭 암호화는 암호화와 복호화에 동일한 키를 사용하는 암호화 방법입니다. 이 암호화 방법은 빠르고 효율적이며 대량의 데이터를 암호화하는 데 적합합니다. 가장 일반적으로 사용되는 대칭 암호화 알고리즘은 AES(Advanced Encryption Standard)입니다.
Java는 SecretKey, Cipher 및 KeyGenerator와 같은 javax.crypto 패키지의 클래스를 포함하여 대칭 암호화에 대한 강력한 지원을 제공합니다.
javax.crypto 패키지의 Java Cipher 클래스는 암호화 및 암호 해독을 위한 암호화 기능을 제공합니다. 이는 JCE(Java Cryptozoology Extensions) 프레임워크의 핵심을 형성합니다.
Java에서는 Cipher 클래스가 대칭 암호화 기능을 제공하고 KeyGenerator 클래스는 대칭 암호화를 위한 키를 생성하는 데 사용됩니다.
Java로 구현된 간단한 대칭 암호화 AES의 예를 살펴보겠습니다−
으아아아프로그램을 실행하면 다음과 유사한 출력이 표시됩니다. -
으아아아위 코드에서는 먼저 KeyGenerator 클래스를 사용하여 AES 암호화를 위한 비밀 키를 생성합니다.
그런 다음 AES용 Cipher 클래스의 인스턴스를 생성하고 비밀 키를 사용하여 ENCRYPT_MODE로 초기화합니다.
다음으로 "Hello, world!"라는 원시 메시지를 정의하고 Cipher의 doFinal 메서드를 사용하여 암호화합니다. 또한 처리하기 쉽도록 암호화된 메시지 바이트를 Base64로 인코딩된 문자열로 변환합니다.
그런 다음 원본 메시지와 암호화된 메시지를 콘솔에 인쇄합니다.
복호화를 시연하기 위해 동일한 키를 사용하여 DECRYPT_MODE에 대한 비밀번호를 다시 초기화하고 암호화된 메시지를 복호화합니다. 마지막으로 해독된 메시지를 콘솔에 인쇄합니다.
프로그램을 실행할 때마다 고유한 비밀키가 생성되므로 암호화된 메시지는 매번 달라집니다.
여기서 주목해야 할 중요한 점은 해독된 메시지가 원본 메시지와 동일하다는 것입니다. 이는 암호화 및 해독 프로세스가 제대로 작동하고 있음을 나타냅니다.
대칭 암호화는 기밀 유지를 위한 강력한 도구이지만 데이터의 보안은 키만큼만 안전하다는 점을 기억하는 것이 중요합니다. 승인되지 않은 사람이 귀하의 비밀 키를 획득하면 귀하의 데이터를 해독할 수 있습니다. 따라서 비밀키를 안전하게 보관하는 것이 중요합니다.
javax.crypto 패키지 덕분에 Java에서 대칭 암호화를 구현하는 과정은 간단합니다. Cipher 및 KeyGenerator 클래스를 사용하여 데이터를 암호화하고 해독하는 방법을 이해하면 Java 애플리케이션의 보안이 크게 향상될 수 있습니다.
위 내용은 Java의 대칭 암호화 암호화의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!