Jasypt は、開発者が最小限の労力で基本的な暗号化機能をプロジェクトに追加できる Java ライブラリであり、暗号化の仕組みを深く理解する必要はありません
一方向および双方向暗号化のための高セキュリティの標準ベースの暗号化テクノロジ。パスワード、テキスト、数値、バイナリ ファイルを暗号化します...
Spring ベースのアプリケーション、オープン API、あらゆる JCE プロバイダーへの統合に適しています...
次の依存関係を追加します:
<dependency> <groupId>com.github.ulisesbocchio</groupId> <artifactId>jasypt-spring-boot-starter</artifactId> <version>2.1.1</version> </dependency>
システムのセキュリティを保護 コードが漏洩した場合でも、データソースの絶対的な安全性が保証されます。
構成ファイル内のすべてのアカウント パスワードと、暗号化する対象を暗号化します。
プロジェクトの開始時に、キーを使用してアカウントまたはパスワードを暗号化または復号化し、暗号文を復号化します。
暗号化および復号化ツール クラス
import org.jasypt.util.text.BasicTextEncryptor; /******************************************************************************** ** @author : ZYJ ** @date :2023/04/26 ** @description :Jasypt加密解密 *********************************************************************************/ public class Jasypt { public static void main(String[] args) { BasicTextEncryptor basicTextEncryptor = new BasicTextEncryptor(); //加密的密钥 basicTextEncryptor.setPassword("Jasypt"); //密码进行加密 String encrypt = basicTextEncryptor.encrypt("密码:123456"); //密码进行解密 String decrypt = basicTextEncryptor.decrypt(encrypt); //结果输出 System.out.println("加密后的结果:"+encrypt); System.out.println("加密后的结果:"+decrypt); } }
構成ファイルを変更し、データベース アカウントのパスワードを暗号化し、ENC() を使用して暗号文を含め、括弧で囲みます。 , 使用 ENC() の意味は、起動時に復号化してロードすることです。
構成ファイル application.yml でキーを構成し、指定されたキーを使用して復号化します。
jasypt: encryptor: password: Jasypt
ただし、コードが漏洩するため、この方法はお勧めできません。アカウントのパスワード プレーンテキストと何ら変わりません。環境変数にキーを設定し、システム環境変数として直接読み込むことができます。 !
キーは環境変数を通じて指定されています。構成ファイルを変更し、キーを環境変数名に置き換えます。${環境変数名} の形式で、次の環境変数名から変数値を見つけます。それが私たちの鍵です! ! !
jasypt:
encryptor:
#環境変数変数名
パスワード: ${JASYPT_PASSWORD}
注: Windows で環境変数を構成した後、IDEA を閉じて再度開き、環境変数をロードできるようにする必要があります。
環境変数ファイルの編集
vim /etc/profile
最後に追加します
export JASYPT_PASSWORD=Jasypt
保存して終了し、環境変数を更新します
ソース/etc /profile
以上がSpringboot が Jasypt を統合して構成ファイルの暗号化を実装する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。