globals.properties에 DB 정보 암호화
- 작성자 :
- 이*영
- 작성일 :
- 2015-03-04 20:02:45
- 조회수 :
- 2,003
- 구분 :
- 개발환경
- 진행상태 :
- 완료
Q
안녕하세요. 수고 많으십니다.
globals.properties에 DB 정보를 세팅할때
Globals.UserName =egovframe
Globals.Password =egovframe
위와 같이 암호부분을 평문으로 입력하게 되어있는데요.
이 부분을 암호화 하고 싶습니다.
Globals.UserName =egovframe
Globals.Password =Tner3hGJFY7HnUhpxp2RsqfDB13riiENGRjbydxbaE0=
이런 식으로 말이죠.
이렇게 변경을 할 경우 어느 부분에서 복호화를 해주면 되는지 좀 알려주세요.
감사합니다. 수고하세요.
globals.properties에 DB 정보를 세팅할때
Globals.UserName =egovframe
Globals.Password =egovframe
위와 같이 암호부분을 평문으로 입력하게 되어있는데요.
이 부분을 암호화 하고 싶습니다.
Globals.UserName =egovframe
Globals.Password =Tner3hGJFY7HnUhpxp2RsqfDB13riiENGRjbydxbaE0=
이런 식으로 말이죠.
이렇게 변경을 할 경우 어느 부분에서 복호화를 해주면 되는지 좀 알려주세요.
감사합니다. 수고하세요.
A
안녕하세요. 이기영님.
관련 문제는 DB를 설정하는 DataSource 클래스를 상속하여 password 항목의 set메소드에 복호화 기능을 추가는것으로
사용자 클래스를 생성하여 대체하는 방법으로 처리할 수 있을 것 같습니다.
아래는 교육 Project(lab204-ibatis-tutor)를 참고하여 설명하였습니다.
(개발자지원 > 교육자료 > 표준프레임워크 개발자 교육 교재 및 실습 (V3.1 반영) patch 2015.02.13 첨부자료 참고)
1. /lab204-ibatis-tutor/src/test/resources/META-INF/spring/context-datasource.xml
<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
<property name="driverClassName" value="${db.driver}" />
<property name="url" value="${db.dburl}" />
<property name="username" value="${db.username}" />
<property name="password" value="${db.password}" />
<property name="defaultAutoCommit" value="false" />
<property name="poolPreparedStatements" value="true" />
</bean>
위에서 참조하는 BasicDataSource클래스를 상속할 사용자 클래스생성
== 셈플 ==
package egovframework.lab.dataaccess.common;
(import 생략)
public class CustomBasicDataSource extends BasicDataSource {
private static final Logger LOGGER = LoggerFactory.getLogger(CustomBasicDataSource.class);
@Override
public void setPassword(String password) {
String temp = decode(password); //임시 복호화 함수 적용
super.setPassword( temp) ;
}
private String decode(String password) {
System.out.println("실제로는 프로젝트에서 사용하는 복호화 클래스의 함수를 사용");
return null;
}
}
2. 생성한 클래스로 dataSource 클래스 교체
<bean id="dataSource" class="egovframework.lab.dataaccess.common.CustomBasicDataSource" destroy-method="close">
실제로 복호화 모듈은 사용하지 않고 테스트 하였습니다.
의도하신 부분의 답변 아니라면 다시 질문해 주시기 바랍니다.
감사합니다.
관련 문제는 DB를 설정하는 DataSource 클래스를 상속하여 password 항목의 set메소드에 복호화 기능을 추가는것으로
사용자 클래스를 생성하여 대체하는 방법으로 처리할 수 있을 것 같습니다.
아래는 교육 Project(lab204-ibatis-tutor)를 참고하여 설명하였습니다.
(개발자지원 > 교육자료 > 표준프레임워크 개발자 교육 교재 및 실습 (V3.1 반영) patch 2015.02.13 첨부자료 참고)
1. /lab204-ibatis-tutor/src/test/resources/META-INF/spring/context-datasource.xml
<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
<property name="driverClassName" value="${db.driver}" />
<property name="url" value="${db.dburl}" />
<property name="username" value="${db.username}" />
<property name="password" value="${db.password}" />
<property name="defaultAutoCommit" value="false" />
<property name="poolPreparedStatements" value="true" />
</bean>
위에서 참조하는 BasicDataSource클래스를 상속할 사용자 클래스생성
== 셈플 ==
package egovframework.lab.dataaccess.common;
(import 생략)
public class CustomBasicDataSource extends BasicDataSource {
private static final Logger LOGGER = LoggerFactory.getLogger(CustomBasicDataSource.class);
@Override
public void setPassword(String password) {
String temp = decode(password); //임시 복호화 함수 적용
super.setPassword( temp) ;
}
private String decode(String password) {
System.out.println("실제로는 프로젝트에서 사용하는 복호화 클래스의 함수를 사용");
return null;
}
}
2. 생성한 클래스로 dataSource 클래스 교체
<bean id="dataSource" class="egovframework.lab.dataaccess.common.CustomBasicDataSource" destroy-method="close">
실제로 복호화 모듈은 사용하지 않고 테스트 하였습니다.
의도하신 부분의 답변 아니라면 다시 질문해 주시기 바랍니다.
감사합니다.