웹 프로젝트 의 properties 파일 암호 화

3597 단어 web
배경: 프로젝트 안전 에 대한 고려 에서 properties 의 데이터베이스 연결 정보 암호 화 를 요구 합 니 다.이 예 에 서 는 BASE 64 암호 화 를 사 용 했 습 니 다.
  • 우선: 데이터베이스 비밀 번 호 를 BASE 64 로 암호 화하 여 암호 화 된 밀 서 를 얻 습 니 다. 예 를 들 어 'bg92ZTQzMQT = =' 이 문자열 을 properties 의 해당 위치 에 기록 합 니 다.예 를 들 어
  • #     url  
    jdbc.url=jdbc:oracle:thin:@192.168.0.25:1521:orcl
    jdbc.username=CROSS_INFO_BASE
    jdbc.password=<>
  • 두 번 째 단계: Property Placeholder Configurer 클래스 재 작성
  • public class EncryptedPlaceholderConfigurer   extends PropertyPlaceholderConfigurer{
    
        public static final String PREFIX = "<;
    
        @Override
        protected String convertPropertyValue(String originalValue) {
            if (originalValue.startsWith(PREFIX)) {
                logger.debug("Find encrypted value:" + originalValue);
                String jmStr=originalValue.substring(2,originalValue.length()-2);
                //  
                String newValue =Base64.getFromBase64(jmStr);
                return newValue;
            }
            return originalValue;
        }
    
    }
  • 마지막: spring 프로필 을 수정 하면 됩 니 다.
  • 
        <bean id="propertyConfigurer" class="org.work.util.EncryptedPlaceholderConfigurer">
            <property name="locations">
                <list>
                    <value>classpath*:config/jdbc.propertiesvalue>
                    <value>classpath*:config/hibernate.propertiesvalue>
                    <value>classpath*:config/redis.propertiesvalue>
                list>
            property>
        bean>

    좋은 웹페이지 즐겨찾기