検索
ホームページJava&#&チュートリアルSpringBoot が構成ファイルの SQL アカウントのパスワードを暗号化する方法

1. Maven プロジェクトに依存関係を導入します

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

2. 同時に、application.yml 設定ファイル

でパスワードを設定する必要があります。これは、ツールがこのパスワードを使用するためです。したがって、構成内の暗号化された文字列が同じパスワードで暗号化されていることを確認する必要があります。そうしないと、プロジェクトの開始時に暗号化が解除されません。

jasypt:
    encryptor:
        password: 123456

3. テストケース内の元の情報を

暗号化することができます 使用方法は非常に簡単です。簡単なデモは次のとおりです:

@RunWith(SpringRunner.class)
@SpringBootTest
@WebAppConfiguration
public class Test {
    @Autowired
    StringEncryptor encryptor;
 
    @Test
    public void getPass() {
        #直接调用加密的方法
        String mysql = encryptor.encrypt("mysql-username|mysql-password");
    }
}

4. 最後に、暗号化された文字列を構成ファイルに入れるだけです

上の「mysql」文字列など

url: ENC(mysql==)
username: ENC(mysql==)
password: ENC(mysql=)

注意してくださいto ENC( ) は固定された記述方法であり、mysql== は暗号化された対応する文字列です。

このようにして、機密情報を暗号化するふりをすることができます。ハハハ、これが私がふりをする理由です。暗号化されたパスワードは構成ファイルに平文で保存され、誰でも簡単に復号化できるため、多くの人がこの問題に戸惑うかもしれません。

はい、確かにその通りです。この種の暗号化方式では、アカウントのパスワードを一度に見られることはないとしか言​​えません。

データが暗号化されていても、暗号化は単なる誤ったセキュリティ対策であるため、ハッカーがプロジェクトへのアクセスを取得した後は意味がありません。したがって、プロジェクトとサーバーのセキュリティを確保することは最も基本的かつ重要です。

OK!OK!OK!

構成ファイルを暗号化する

開発中の学生は皆、たとえば、プロジェクトの依存関係情報やデータベース情報が通常、構成ファイルに保存されることを知っています。 file であり、全て平文なので暗号化処理が必要ですが、今回はspringboot暗号化と統合したjasyptの設定を紹介します。

まず第一に、これらは springboot プロジェクトが正常に実行できるという前提に基づいています。

ステップ 1: 図に示すように、pom ファイルに依存関係を追加します。

ここにバージョンが提供されています

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

SpringBoot が構成ファイルの SQL アカウントのパスワードを暗号化する方法

ステップ 2 : キーを生成します。

#図に示すように、ローカル Maven ウェアハウスで jasypt jar パッケージを見つけ、そのディレクトリで cmd コマンド ウィンドウを開きます。 ##実行

SpringBoot が構成ファイルの SQL アカウントのパスワードを暗号化する方法

java -cp jasypt-1.9.2.jar org.jasypt.intf.cli.JasyptPBESTringEncryptionCLI input="test"password=test

algorithm=PBEWithMD5AndDES

ここで、「入力」はプレーンテキストのパスワードです。ここではテストを示しています。パスワードは秘密鍵で、アルゴリズムはルールです。変更しないでください。 ! ! 。実行後は、図に示すようになります。

# 簡単に説明すると、ここでの出力は暗号化された暗号文 (パスワード) です。ここでは、cmd を使用してテキストをコピーする方法を示します (最初は cmd を使用してコピーする方法がわからなかったので)。コピーしたい内容をマウスで右クリックしてマークし、選択すると、コピーできます。

SpringBoot が構成ファイルの SQL アカウントのパスワードを暗号化する方法ステップ 3: 図に示すように、springboot 構成ファイルに構成を追加します。

ここでは、application.yml ファイルとアプリケーションを使用します。プロパティファイルは次のように記述されます:jasypt.encryptor.password=test。

SpringBoot が構成ファイルの SQL アカウントのパスワードを暗号化する方法しかし、実際に使用されるのは、このノード間で値を再割り当てするためのスタートアップ クラスの System.setProperty("jasypt.encryptor.password", "demo"); であり、これは秘密キーを再度保護するのに役立ちます (もし誰かがより良い解決策を持っている場合は、時間内にメッセージを残してください。一緒に話し合うことができます。)

注: 上の図の最初のパスワードは、パスワードに対応します。 2 番目のステップの ARGUMENTS で、2 番目のパスワードは 2 番目のステップの OUTPUT の結果に対応し、図に示すようにフォームに ENC (パスワード) を追加する必要があります。

SpringBoot が構成ファイルの SQL アカウントのパスワードを暗号化する方法ステップ 4: コマンドを使用してパスワードを復号化する

コマンドを実行します

java -cp jasypt-1.9.2.jar org.jasypt.intf.cli .JasyptPBESTringDecryptionCLI input="nhyL4CzSQv/aPxoe7TzpOQ==" パスワード=テストアルゴリズム=PBEWithMD5AndDES

結果は以下のようになります:

SpringBoot が構成ファイルの SQL アカウントのパスワードを暗号化する方法

#最後に springboot と jasypt の統合が完了しましたが、実装は簡単そうです(笑)。ただし、注意すべき点は、設定ファイル (特に秘密キーに相当する ARGUMENTS のパスワード) を漏らさないことです。漏洩しないと、他の人が 4 番目の手順でパスワードを復号化できます。設定ファイルを次の場所に置くことをお勧めします。構成センター

以上がSpringBoot が構成ファイルの SQL アカウントのパスワードを暗号化する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

MinGW - Minimalist GNU for Windows

MinGW - Minimalist GNU for Windows

このプロジェクトは osdn.net/projects/mingw に移行中です。引き続きそこでフォローしていただけます。 MinGW: GNU Compiler Collection (GCC) のネイティブ Windows ポートであり、ネイティブ Windows アプリケーションを構築するための自由に配布可能なインポート ライブラリとヘッダー ファイルであり、C99 機能をサポートする MSVC ランタイムの拡張機能が含まれています。すべての MinGW ソフトウェアは 64 ビット Windows プラットフォームで実行できます。

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

WebStorm Mac版

WebStorm Mac版

便利なJavaScript開発ツール

Dreamweaver Mac版

Dreamweaver Mac版

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)