Spring BootでJasyptを統合してプロファイルを暗号化

1437 ワード

コードセキュリティの問題が深刻化しているため、より多くのプロジェクトは簡単な暗号化措置を行う必要があります.データベースへの接続情報、redis接続情報などが含まれます.
簡単なプロファイル暗号化に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)

パスワード以外のアカウントなどの情報は好きなだけ暗号化できます.