Spring BootでJasyptを統合してプロファイルを暗号化
1437 ワード
コードセキュリティの問題が深刻化しているため、より多くのプロジェクトは簡単な暗号化措置を行う必要があります.データベースへの接続情報、redis接続情報などが含まれます.
簡単なプロファイル暗号化にJasyptを使用する方法について説明します.
一、mavenにJasyptの依存を追加する.
ここに追加したJasyptのバージョンが2.0.0よりも低いと異常になる可能性があります.
二、自分のPASWORD(鍵)を選ぶ
鍵の選択は、自分の意思で行うことができますが、あまり簡単ではありません.ここでは、プレゼンテーションを容易にするためにプロファイルに直接書きます.もちろん本当のプロジェクトではできません.そうしないと、他の構成属性が暗号化されますが、あなたの鍵が裸でここに置いてあるのは本当に愚かです.
このような状況に直面して、プロジェクトを開始するときに鍵を指定する方法があります.
三、プロファイルのアカウントパスワードを暗号化する
暗号化後の情報を取得するために簡単なtestを作成する必要があります.
問題が発生しましたか?Autowiredを書くのを忘れないでください.
実行後に表示される暗号文が「xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
パスワード以外のアカウントなどの情報は好きなだけ暗号化できます.
簡単なプロファイル暗号化にJasyptを使用する方法について説明します.
一、mavenにJasyptの依存を追加する.
com.github.ulisesbocchio
jasypt-spring-boot-starter
2.0.0
ここに追加したJasyptのバージョンが2.0.0よりも低いと異常になる可能性があります.
二、自分のPASWORD(鍵)を選ぶ
jasypt:
encryptor:
password: HelloWorld
鍵の選択は、自分の意思で行うことができますが、あまり簡単ではありません.ここでは、プレゼンテーションを容易にするためにプロファイルに直接書きます.もちろん本当のプロジェクトではできません.そうしないと、他の構成属性が暗号化されますが、あなたの鍵が裸でここに置いてあるのは本当に愚かです.
このような状況に直面して、プロジェクトを開始するときに鍵を指定する方法があります.
java -jar -Djasypt.encryptor.password='HelloWorld' xxx.jar
三、プロファイルのアカウントパスワードを暗号化する
暗号化後の情報を取得するために簡単なtestを作成する必要があります.
@Test
public void encryptTest() {
String result = stringEncryptor.encrypt("testHelloWorkd");
System.out.println(result);
}
問題が発生しましたか?Autowiredを書くのを忘れないでください.
@Autowired
StringEncryptor stringEncryptor;
実行後に表示される暗号文が「xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
username: test
password: ENC(xxxxxxxxxxxxxx)
パスワード以外のアカウントなどの情報は好きなだけ暗号化できます.