1 애플리케이션
가) javax.crypto.Cipher : 암호화하고 복호화하는 기본적인 엔진
① getInstance()
- Cipher.getInstance(“DESede/ECB/PKCS5Padding”);
- 알고리즘의 이름을 매개변수로 해서 팩토리 메소드 이용
② Init() : Cipher의 인스턴스를 얻었다면 init()로 초기화해야 함
- cipher.init(Cipher.ENCRYPTODE, myKey);
- ENCRYPTODE / DECRYPT_MODE : 작동 방식
- 비대칭 암호화에서 사용
③ update() :
④ doFinal() : 암호화된 바이트 배열
- byte[] ciphertext = cipher.doFinal();
나) javax.crypto.KeyGenerator : 대칭 암호화에 쓸 키를 생성
① getInstance()
- KeyGenerator.getInstance(“DESede”);
② Init() : KeyGenerator의 인스턴스를 초기화할 때 키의 크기를 결정
- keyGenerator.init(168);
③ generateKey() : Key 객체를 실제로 만들어 냄
- Key key = keyGenerator.generateKey();
다) 간단한 암호화 예제 : DESede
import java.io.UnsupportedEncodingException; import javax.crypto.BadPaddingException; public class SimpleExample { /** System.out.println("\nCiphertext: "); } } |
라) 간단한 암호화 예제 : Blowfish : DESede 예제에서 2군데만 달라진다.
KeyGenerator keyGenerator = KeyGenerator.getInstance("Blowfish"); Cipher cipher = Cipher.getInstance("Blowfish /ECB/PKCS5Padding"); |
'소프트웨어 > java암호화' 카테고리의 다른 글
[암호화] 인증(Authentication)과 전자서명 (0) | 2013.09.06 |
---|---|
[암호화]블록 암호화 Padding (0) | 2013.09.06 |
[암호화] 비대칭암호화 - RSA 파일 암호화 (0) | 2013.09.06 |
[암호화]패스워드 기반 암호화(PBE : Password-Based Encryption) (0) | 2013.09.06 |
[암호화] JCA & JCE (0) | 2013.09.06 |