-
전자정부프레임워크 Aria 암호화 & 복호화Web (Spring ) 2016. 9. 29. 11:26
개요
회원가입 정보를 암호화 및 복호화 할 수 있는 전자정부프레임워크 Aria에 대해서 알아보자
pom.xml 의존성 주입
12345<dependency><groupId>egovframework.rte</groupId><artifactId>egovframework.rte.fdl.crypto</artifactId><version>${egovframework.rte.version}</version></dependency>cs CommonUtils 생성
12345import org.jasypt.contrib.org.apache.commons.codec_1_3.binary.Base64;import org.springframework.stereotype.Component;import egovframework.rte.fdl.cryptography.EgovPasswordEncoder;import egovframework.rte.fdl.cryptography.impl.EgovARIACryptoServiceImpl;cs import 선언
12@Component("commUtils")public class CommonUtils {cs 유틸 클래스 생성 후 @component 선언
12345678910111213141516171819202122232425262728293031//복호화public byte[] decrypted(String value, String key){EgovPasswordEncoder egovPasswordEncoder = new EgovPasswordEncoder();EgovARIACryptoServiceImpl egovARIACryptoServiceImpl = new EgovARIACryptoServiceImpl();String hasedPassword = passwordEncoder.encryptPassword(key);egovPasswordEncoder.setHashedPassword(hasedPassword);egovPasswordEncoder.setAlgorithm("SHA-256");egovARIACryptoServiceImpl.setPasswordEncoder(egovPasswordEncoder);egovARIACryptoServiceImpl.setBlockSize(1025);byte[] decrypted = egovARIACryptoServiceImpl.decrypt(Base64.decodeBase64(value.getBytes()), key);return decrypted;}//암호화public byte[] encrypted(String value, String key){EgovPasswordEncoder egovPasswordEncoder = new EgovPasswordEncoder();EgovARIACryptoServiceImpl egovARIACryptoServiceImpl = new EgovARIACryptoServiceImpl();String hasedPassword = passwordEncoder.encryptPassword(key);egovPasswordEncoder.setHashedPassword(hasedPassword);egovPasswordEncoder.setAlgorithm("SHA-256");egovARIACryptoServiceImpl.setPasswordEncoder(egovPasswordEncoder);egovARIACryptoServiceImpl.setBlockSize(1025);byte[] encrypted = egovARIACryptoServiceImpl.encrypt(value.getBytes(), key);return encrypted;}cs Result
회원정보 중 email을 암호화
12345@Controllerpublic class UserController {@Resource(name="commUtils")private CommonUtils commUtils;cs @controller를 선언 뒤 @resource 어노테이션을 통해 해당 @componet를 불러온다.
1234567if(userVo.getUseremail() != null && !userVo.getUseremail().equals("")){byte[] encrypted = commUtils.encrypted(userVo.getUseremail(), Integer.toString(userVo.getUserno()));userVo.setUseremail(new String(Base64.encodeBase64(encrypted)));userVo.setUserno(userno);userService.updateUseremail(userVo);}cs 2번라인 encrypted은 암호화
1byte[] decrypted= commUtils.decrypted(userVo.getUseremail(), Integer.toString(userVo.getUserno()));cs 1번라인 decrypted 은 복호화
'Web (Spring )' 카테고리의 다른 글
jQuery DatePicker 기간조회 (0) 2016.11.16 List<Map<String,Object> add 방법 (1) 2016.09.30 자주 쓰는 정규식 (0) 2016.09.23 selectkey return 값이 '1'일 경우 (0) 2016.09.19 Escape Sequence 문자 (0) 2016.09.19