푸른 날개를 꿈꾸는 아이's 메모장

자바 암호화하기 본문

프로그래밍/Java, Jsp

자바 암호화하기

김단태 2015. 6. 17. 18:27

자바에서 제공하는 암호화를 적용해봅시다.


 

 해시함수


해시함수 암호화하기. 단방향이므로 복호화따윈 필요없다.


MessageDigest md = MessageDigest.getInstance("SHA-256"); 
md.update("passwd".getBytes()); 
byte encrypt[] = md.digest();
String encryptBase64 = Base64.encode(encrypt);



 

 

 블록암호


AES 128 암호화하기.

보편적으로 사용하는 CBC 암호화를 사용며 암호화된 값은 byte이므로 저장하기 용이하도록 Base64 인코딩을 하겠소.

AES 256 암호화를 사용하려면 공식사이트에가서 버전별로 존재하는 

Java Cryptography Extension (JCE) Unlimited Strength Jurisdiction Policy Files 

따로 받아서 사용하면 되겠다. ......\Java\jdk1.7.0_51\jre\lib\security 요기 안에다가 깔고 사용한다.


//암호화키 16byte 사용
byte[] KEY = "123456789abcdefg".getBytes();
//초기화키 16btye 사용
byte[] INITKEY = "aabbccddee112233".getBytes();
IvParameterSpec IV = new IvParameterSpec(INITKEY);
Key secureKey = new SecretKeySpec(KEY, "AES");
//암호화 !!
Cipher cipher = Cipher.getInstance("AES/CBC/PKCS5Padding");
cipher.init(Cipher.ENCRYPT_MODE, secureKey, IV);
byte[] encrypted = cipher.doFinal("암호화할대상문자".getBytes());
String base64Encode = Base64.encode(encrypted);
//복호화 !!
cipher.init(Cipher.DECRYPT_MODE, secureKey, IV);
byte[] base64Decode = Base64.decode(base64Encode);
byte[] decrypted = cipher.doFinal(base64Decode);
String decryptedStr = new String(decrypted);


'프로그래밍 > Java, Jsp' 카테고리의 다른 글

문자 유니코드를 확인합시다  (0) 2015.01.31
Comments