Jasypt 를 이용한 암호화 방법입니다
Jasypt 를 이용하여 Spring 설정파일의 설정값을 암호화 할 수 있습니다.
http://www.jasypt.org/
다운로드 받습니다. (현재 1.9.0 버젼이 최신입니다.)
* StringEncryptor.java ( Encoding 소스 )
package com.sample.crypto;
* 암호화 문자 생성
java -cp .;%classpath% com.sample.crypto.StringEncryptor {암호화할 문자}
* applicationContext-resource.xml
class="org.jasypt.encryption.pbe.config.EnvironmentStringPBEConfig">
<property name="password" value="
class="org.jasypt.spring3.properties.EncryptablePropertyPlaceholderConfigurer">
<entry key="mysql.jdbc.driverClassName">core.log.jdbc.driver.MysqlDriver</entry>
http://www.jasypt.org/spring3.html
출처 - http://hermeslog.tistory.com/139
===================================================================================
프로젝트에서 IBatis 도입을 하려는데, DB 접속 패스워드를 암호화된 파일로만
관리해야한다는 제약이 있어 도입을 늦추고 있었다.
IBatis 원 소스를 수정할까 고민하여 구글링을 하는데,
초기화시 다음과 같은 방법으로 설정파일에 든 password 를 엎어칠수가 있었다능..
먼저, sqlmapConfig.xml 에 다음과 같이 원하는 항목에 변수를 지정한다.
.....
<property name="JDBC.ConnectionURL" value="${url}" />
<property name="JDBC.Username" value="${username}" />
<property name="JDBC.Password" value="${password}" />
.....
SqlMapConfig.xml 을 읽어들이는 초기화 소스에,
위에서 ${password} 지정했던 동일한 key( 예. password )로 아래 Properties 를 세팅한다.
Reader reader = Resources.getResourceAsReader("SqlMapConfig.xml");
String sPassword = decryptPassword();
Properties properties = new Properties();
properties.setProperty("password", sPassword);
client = SqlMapClientBuilder.buildSqlMapClient(reader, properties);
decryptPassword() 메소드는 자체적으로 특정파일에 암호화된
DB접속 패스워드를 decrypt 하는 메소드이니,
상황에 따라 적절히 구현하면 되겟고,
이후 Properties에 담아 buildSqlMapClient 에 넘기면 되겠다.
url 이나 username 도 동일한 방법으로 설정이 가능한데. ibatis 소스에 보면 config.xml 파일의 ${xxxxxxx} 패턴의 value 를 Properties 로 replace하도록 되어있군.
mybatis 로 바뀌고는 예전 ibatis repository를 잘 못 찾겠음.
http://code.google.com/p/mybatis/source/browse/
:)
출처 - http://blog.naver.com/olovesun?Redirect=Log&logNo=10037215677
===================================================================================
출처 - http://mybatis-user.963551.n3.nabble.com/Encrypting-the-db-password-td2172564.html
'Framework & Platform > mybatis' 카테고리의 다른 글
useGenerateKeys 사용하기 예제 (0) | 2012.05.01 |
---|---|
mybatis 3 settings 예제 (0) | 2012.04.30 |
Mybatis selectList 예제 (0) | 2012.03.28 |
mybatis 설치 예제 (0) | 2012.03.18 |
ibatis vs MyBatis (0) | 2012.03.15 |