자바 AES 128비트 암호화
String sKeyString = "";
String message = "this is just an example";
// 1. 128 비트 비밀키 생성
KeyGenerator kgen = KeyGenerator.getInstance("AES");
kgen.init(128);
SecretKey skey = kgen.generateKey();
// 2. 비밀 키를 이렇게 저장하여 사용하면 암호화/복호화가 편해진다.
sKeyString = Hex.encodeHexString(skey.getEncoded());
// 3. 암호화 수행
SecretKeySpec skeySpec = new SecretKeySpec(skey.getEncoded(), "AES");
Cipher cipher = Cipher.getInstance("AES");
cipher.init(Cipher.ENCRYPT_MODE, skeySpec);
byte[] encrypted = cipher.doFinal(message.getBytes());
System.out.println("encrypted string: " + Hex.encodeHexString(encrypted));
// 4. 복호화 수행
cipher.init(Cipher.DECRYPT_MODE, skeySpec);
byte[] original = cipher.doFinal(encrypted);
String originalString = new String(original);
System.out.println("Original string: " + originalString + " " + Hex.encodeHexString(original));
jar : commons-codec-1.6.jar
'컴퓨터공학 > Security' 카테고리의 다른 글
네트워크 보안 관련 (0) | 2017.03.23 |
---|---|
Linux 명령어와 시스템보안 (0) | 2017.03.03 |
암호화의 진화 (0) | 2017.02.17 |
인터넷 쿠키 (0) | 2017.02.17 |
정보보안관련 좋은 레퍼런스 사이트 (0) | 2016.03.03 |
악성코드를 이용한 해킹의 종류 및 대처법 (0) | 2016.02.15 |
Key Derivation Functions (PBKDF2) (1) | 2015.06.24 |
Time Stamp와 MD5 (0) | 2013.02.04 |
문자열을 SHA-512 방식으로 암호화(단방향 암호화 방식 : 예 로그인) (0) | 2013.02.04 |
자바 데이터 암호화: DES, 3DES, AES, RSA, MD5, SHA1 (0) | 2013.02.04 |