ホームページ  >  記事  >  Java  >  Springboot が Jasypt を統合して構成ファイルの暗号化を実装する方法

Springboot が Jasypt を統合して構成ファイルの暗号化を実装する方法

WBOY
WBOY転載
2023-06-01 08:55:441376ブラウズ

Jasypt の概要

Jasypt は、開発者が最小限の労力で基本的な暗号化機能をプロジェクトに追加できる Java ライブラリであり、暗号化の仕組みを深く理解する必要はありません

一方向および双方向暗号化のための高セキュリティの標準ベースの暗号化テクノロジ。パスワード、テキスト、数値、バイナリ ファイルを暗号化します...

Spring ベースのアプリケーション、オープン API、あらゆる JCE プロバイダーへの統合に適しています...

次の依存関係を追加します:

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

Jasyptのメリット

システムのセキュリティを保護 コードが漏洩した場合でも、データソースの絶対的な安全性が保証されます。

アプリケーション シナリオ

構成ファイル内のすべてのアカウント パスワードと、暗号化する対象を暗号化します。

使用方法

プロジェクトの開始時に、キーを使用してアカウントまたはパスワードを暗号化または復号化し、暗号文を復号化します。

実用的な使用方法

暗号化および復号化ツール クラス

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() の意味は、起動時に復号化してロードすることです。

Springboot が Jasypt を統合して構成ファイルの暗号化を実装する方法

構成ファイル application.yml でキーを構成し、指定されたキーを使用して復号化します。

jasypt:
  encryptor:
    password: Jasypt

ただし、コードが漏洩するため、この方法はお勧めできません。アカウントのパスワード プレーンテキストと何ら変わりません。環境変数にキーを設定し、システム環境変数として直接読み込むことができます。 !

キーは環境変数を通じて指定されています。構成ファイルを変更し、キーを環境変数名に置き換えます。${環境変数名} の形式で、次の環境変数名から変数値を見つけます。それが私たちの鍵です! ! !

jasypt:
encryptor:
#環境変数変数名
パスワード: ${JASYPT_PASSWORD}

Windows 環境変数モード指定

注: Windows で環境変数を構成した後、IDEA を閉じて再度開き、環境変数をロードできるようにする必要があります。

Springboot が Jasypt を統合して構成ファイルの暗号化を実装する方法

Linux 環境変数メソッドの指定

環境変数ファイルの編集

vim /etc/profile

最後に追加します

export JASYPT_PASSWORD=Jasypt

保存して終了し、環境変数を更新します

ソース/etc /profile

以上がSpringboot が Jasypt を統合して構成ファイルの暗号化を実装する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はyisu.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。