SpringBootプロジェクトの構成ファイル内の機密情報(データユーザー名、パスワード)の暗号化

1.POMを導入する

        <dependency>
            <groupId>com.github.ulisesbocchio</groupId>
            <artifactId>jasypt-spring-boot-starter</artifactId>
            <version>2.0.0</version>
        </dependency>

2.元のテキストと秘密鍵に基づいて暗号文を生成します

依存関係を追加した後、ローカルのMavenリポジトリパスの下にあるファイルjasypt-1.9.2.jarにダウンロードされます。

次のコマンドを使用して、元のテキスト(機密情報)と秘密鍵(カスタム)に基づいて暗号文を生成します

java -cp jasypt-1.9.2.jar  org.jasypt.intf.cli.JasyptPBEStringEncryptionCLI input=此处填写需要加密的原文 password=此处填写秘钥 algorithm=PBEWithMD5AndDES

アルゴリズムの計算結果は毎回異なります。

復号化検証コマンドは次のとおりです。

java -cp jasypt-1.9.2.jar org.jasypt.intf.cli.JasyptPBEStringDecryptionCLI input=加密之后的密文 password=秘钥 algorithm=PBEWithMD5AndDES

3.生成された暗号文を構成ファイルに追加します

ENC()を追加する必要があり、暗号文が括弧内に追加されていることに注意してください。これは暗号化されたコンテンツであり、復号化する必要があることをSpringに伝えます。例えば

spring.datasource.url=ENC(aHMBiWporNNBm3IwftEBu+1zA/v7JsO924+UR3MTxf2YNRBP/jZK1cb88YL/dxtYTxdKUyeWOatTCpZcCgQmwKQ7AIysILRC)
spring.datasource.username=ENC(WG7hK9Q3gi0CfSB560hSBQ==)
spring.datasource.password=ENC(EjmLk30zKbJbaxR0LJEXc2rjE7UwagRp)

第四に、サービスを開始します

サービスを開始するときは、復号化キーjasypt.encryptor.passwordを指定する必要があります

コマンドライン起動モード:

java -Djasypt.encryptor.password=此处填写秘钥  -jar xxx.jar

EclipseなどのIDEスタートアップの場合は、スタートアップパラメータを次のように設定する必要があります。

おすすめ

転載: blog.csdn.net/H517604180/article/details/92407098