Notice
Recent Posts
Recent Comments
«   2025/05   »
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
Archives
Today
Total
관리 메뉴

Without haste, but without rest

DB 아이디/패스워드 암호화 본문

삽질의 리포팅

DB 아이디/패스워드 암호화

느린구름 2012. 5. 2. 14:55

org.apache.commons.dbcp.BasicDataSource 사용해서 DataSource 설정

 

사용자 정보와 비밀번호가 xml에 설정되어 노출 되는 경우가 있어

보안상 암호화 할 필요가 있다.

 

이경우 org.apache.commons.dbcp.BasicDataSource 상속받아 클래스를 만들어서 사용 하면 된다.

 

1. Spring에서 DataSource 설정

 

 <bean id="dataSource" destroy-method="close"
  class="net.jlancer.db.SecureBasicDataSource">
  <property name="driverClassName"
   value="oracle.jdbc.driver.OracleDriver" />
  <property name="url"
   value="jdbc:oracle:thin:@localhost:1521:oradb" />
  <property name="username" value="암호화된아이디" />   <!-- 암호화 사용자아이디를 넣은다. -->
  <property name="password" value="암호화된비밀번호" /> <!-- 암호화 비밀번호를 넣는다. -->
 </bean> 

 

2. 상속받아 만든 클래스

 

package net.jlancer.db;

import org.apache.commons.dbcp.BasicDataSource;

import com.aurasoft.crypto.PasswordEncrypt;

 

public class SecureBasicDataSource extends BasicDataSource {

   

    //사용자아이디 암호화 해제 설정

    public void setUsername(String username){

         //암호화/해제 모듈은 각자 맞는 것을 사용 하면 됩니다.
         super.setUsername(PasswordEncrypt.Decrypt(username)); 
    }
   

    //비밀번호 암호화 해제 설정
    public void setPassword(String password) {

       //암호화/해제 모듈은 각자 맞는 것을 사용 하면 됩니다.
        super.setPassword(PasswordEncrypt.Decrypt(password));
    }
   

}