17

私はSpringフレームワークが初めてで、Springフレームワークを使用してデータベース接続などを管理しています。アプリケーションは、プロパティ ファイルからデータベース接続パラメータを読み取ります。必要なのは、接続パスワードを暗号化してプロパティ ファイルに保存することです。ここに私のデータソースxmlファイルがあります

    <?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>

暗号化されたパスワードをプロパティファイルに書き込もうと思っていますが、Spring がアルゴリズムで自動的に復号化できるかどうか疑問に思っています。構成で可能ですか?前もって感謝します。

4

5 に答える 5

8

私の知る限り、Springはこの機能をサポートしていませんが、他のプロジェクトが役立つ場合があります。

于 2012-07-25T08:45:14.607 に答える
2

Spring が復号化できれば、他の誰もが復号化できるため、意味がありません。この暗号化は何の違いもありません。何も保護しません。それは危険なものだけを与えます-誤った保護感。

おそらく、データベース認証の別の方法を使用できます。たとえば、MS SQL サーバーでは、パスワード認証の代わりに Windows セキュリティを使用できます。Postgres についても同じです (ユーザー アカウントまたは SSL 証明書を使用してアクセスできます)。

于 2012-07-25T08:43:22.267 に答える
1

spring cloud config が提供する暗号化と復号化を使用できます

于 2017-01-10T17:52:38.673 に答える