Tôi rất mới trong khung công tác Spring và tôi đang sử dụng khung công tác Spring để quản lý các kết nối cơ sở dữ liệu của mình. Applicaiton đọc các tham số kết nối db của tôi từ một tệp thuộc tính. Điều tôi cần là lưu trữ mật khẩu kết nối của tôi trong tệp thuộc tính như được mã hóa. Đây là tập tin xml nguồn dữ liệu của tôiLàm thế nào để lưu trữ mật khẩu được mã hóa trong tập tin thuộc tính trong Spring
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:tx="http://www.springframework.org/schema/tx"
xsi:schemaLocation="
http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd
http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-2.0.xsd">
<bean class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
<property name="location">
<value>file:${DBConfigFile}</value>
</property>
</bean>
<bean id="myDataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource" destroy-method="close">
<property name="driverClass" value="${jdbc.driverClassName}" />
<property name="jdbcUrl" value="${jdbc.url}" />
<property name="user" value="${jdbc.username}" />
<property name="password" value="${jdbc.password}" />
<property name="initialPoolSize"><value>3</value></property>
<property name="minPoolSize"><value>3</value></property>
<property name="maxPoolSize"><value>50</value></property>
<property name="idleConnectionTestPeriod"><value>200</value></property>
<property name="acquireIncrement"><value>1</value></property>
<property name="maxStatements"><value>0</value></property>
<property name="numHelperThreads"><value>3</value></property>
</bean>
</beans>
Tôi thiking để viết mật khẩu mã hóa vào tập tin bất động sản và tôi tự hỏi nếu mùa xuân có thể giải mã nó với một thuật toán tự động. Có thể với cấu hình. Cảm ơn bạn trước.
Bạn nói đúng nhưng tôi đề cập đến một thuật toán riêng của Spring chứ không phải công khai. Cảm ơn bạn đã trả lời, tôi sẽ tìm kiếm về chứng nhận ssl. – tace
@tace Thuật toán riêng cho bảo mật là oxymoron. http://en.wikipedia.org/wiki/Security_through_obscurity. Vì vậy, một cách để làm cho nó đúng là sử dụng bảo vệ hệ thống hoạt động (Windows NTLM, Unix pam, vv), nó có thể cung cấp một số bảo vệ. – kan
Với thông tin đăng nhập được mã hóa trong thuộc tính của bạn, bạn có thể giữ cho chúng được kiểm soát phiên bản (không cùng với khóa riêng) cùng với dịch vụ cần chúng và tự động triển khai khi triển khai dịch vụ. Điều duy nhất cần được duy trì bên ngoài đường ống triển khai là khóa riêng để giải mã các thuộc tính, điều này dễ bị lỗi hơn rất nhiều so với việc duy trì toàn bộ cấu hình bên ngoài vòng đời bình thường của dịch vụ. –