본문 바로가기
Spring

전자정부표준프레임워크 암호화 aria

by 자바초보자 2015. 10. 7.
728x90

전자정부표준프레임워크 암호화 aria

현재 전자정부프레임워크 2.0.0 으로 개발 중입니다...
암호화/복호화를 개발교재에 나와 있는대로 아래와 같이 처리를 했습니다..
@Resource(name="ARIACryptoService")
private EgovARIACryptoService cryptoService;
private final static String password = "egovframe"
String str = "Korea1234";
byte[] encrypted = cryptoService.encrypt(str.getBytes("UTF-8"), password);
String encVal = new String(encrypted);
System.out.prinln("encrypted = " + encVal);
byte[] decrypted = cryptoService.decrypt(encVal.getBytes(), password);
System.out.prinln("decrypted = " + new String(decrypted, "UTF-8"));
암호화한 값을 DB에 넣고 나중에 DB에서 가져와서 복화화를 해야 하기때문에..
String 으로 변환을 하였습니다.. 그런데 결과가 아래와 같이 문자열이 깨져
버립니다..
<결과>
encrypted = �bt�D�y
decrypted = 'H�5?�ry�~��M�;
그래서 전자정부프레임워크 1.0.0 일때 처럼 Base64 를 이용해서 소스를 아래와
같이 수정을 했습니다.
@Resource(name="ARIACryptoService")
private EgovARIACryptoService cryptoService;
private final static String password = "egovframe"
String str = "Korea1234";
byte[] encrypted = cryptoService.encrypt(str.getBytes(), password);
String encVal = new String(Base64.encode(encrypted));
System.out.prinln("encrypted = " + encVal);
byte[] decrypted = cryptoService.decrypt(Base64.decode(encVal.getBytes()), password);
System.out.prinln("decrypted = " + new String(decrypted));
<결과>
encrypted = iWJ0vESweQEKUCLDpoW4OQ==
decrypted = Korea1234
=============================================================
<질문>
1. 위와 같이 Base64 를 이용해서 하는게 정상인건가요??
2. 만약 정상이라면 Base64를 이용하는 방법밖에 없는건가요??
3. 만약 위와 같이해야만 하는거라면 교육교재를 보고 따라하면 분명
저런 증상이 모두에게 나타날텐데 교육교재에서 쓰는 방법이 확실하게
나왔으면 합니다...
그럼 수고하세요...
[from eGovframe Portal Q&A]
- submitted by 장선주
728x90