Jasypt 한 번 봐, 그것은 개발자가 최소의 노력으로 그/그녀의 프로젝트에 기본 암호화 기능을 추가 할 수있는 자바 라이브러리입니다, 어떻게 암호화 작품에 대한 깊은 지식이 필요없이 .
jdbc.driver=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://localhost/yourdb
jdbc.username=userName
jdbc.password=ENC(A6L729KukPEx7Ps8didIUWb01fdBRh7d)
및 Jasypt와 같이 봄과 그것을 구성 :
이
<bean class="org.jasypt.spring.properties.EncryptablePropertyPlaceholderConfigurer">
<constructor-arg>
<bean class="org.jasypt.encryption.pbe.StandardPBEStringEncryptor">
<property name="config">
<bean class="org.jasypt.encryption.pbe.config.EnvironmentStringPBEConfig">
<property name="algorithm" value="PBEWithMD5AndDES" />
<property name="passwordEnvName" value="APP_ENCRYPTION_PASSWORD" />
</bean>
</property>
</bean>
</constructor-arg>
<property name="locations">
<list>
<value>classpath:/META-INF/props/db/db.properties</value>
</list>
</property>
</bean>
<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource">
<property name="driverClassName" value="${jdbc.driverClassName}"/>
<property name="url" value="${jdbc.url}"/>
<property name="username" value="${jdbc.username}"/>
<property name="password" value="${jdbc.password}"/>
</bean>
이 실제 암호를 숨겨 (당신이 할 수있는 경우
당신은 스프링을 사용하여, 당신은 db.properties
로 정의 할 수 있습니다 학생의 username
과 동일), 등록 정보 파일을보고 연결 문자열을 파생 할 수 없습니다. 당신은 스프링을 사용하지 않는 경우
, 여기에 Jasypt guide이 같은 "수동"이
때문에 응용 프로그램이 웹 애플리케이션이나 데스크톱 응용 프로그램을 실현하려입니까? 응용 프로그램에서 암호를 암호화하고 싶습니까? 설정 파일은 단지 DB URL을 포함하지만 사용자/암호 정보는 포함하지 않습니다. btw, 당신은 특정 데이터베이스에 대한 데이터베이스 사용자를 만들 수 있습니다, 모든 데이터베이스는 동일한 db 서버 내에 있습니다 – Tommy
바탕 화면, 나는 데이터베이스에 인증하기 위해 응용 프로그램에서 사용하는 사용자 이름과 암호를 보호하기를 원하며, 설정 파일에는 db url 만 포함됩니다 . 응용 프로그램 사용자 이름과 암호는 응용 프로그램에 DB의 읽기/쓰기 권한을 부여하는 데 사용됩니다. – prolink007