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>
ステップ 2 : キーを生成します。
#図に示すように、ローカル Maven ウェアハウスで jasypt jar パッケージを見つけ、そのディレクトリで cmd コマンド ウィンドウを開きます。 ##実行java -cp jasypt-1.9.2.jar org.jasypt.intf.cli.JasyptPBESTringEncryptionCLI input="test"password=test
algorithm=PBEWithMD5AndDES# 簡単に説明すると、ここでの出力は暗号化された暗号文 (パスワード) です。ここでは、cmd を使用してテキストをコピーする方法を示します (最初は cmd を使用してコピーする方法がわからなかったので)。コピーしたい内容をマウスで右クリックしてマークし、選択すると、コピーできます。ここで、「入力」はプレーンテキストのパスワードです。ここではテストを示しています。パスワードは秘密鍵で、アルゴリズムはルールです。変更しないでください。 ! ! 。実行後は、図に示すようになります。
ステップ 3: 図に示すように、springboot 構成ファイルに構成を追加します。
しかし、実際に使用されるのは、このノード間で値を再割り当てするためのスタートアップ クラスの System.setProperty("jasypt.encryptor.password", "demo"); であり、これは秘密キーを再度保護するのに役立ちます (もし誰かがより良い解決策を持っている場合は、時間内にメッセージを残してください。一緒に話し合うことができます。)
ステップ 4: コマンドを使用してパスワードを復号化する
コマンドを実行します
java -cp jasypt-1.9.2.jar org.jasypt.intf.cli .JasyptPBESTringDecryptionCLI input="nhyL4CzSQv/aPxoe7TzpOQ==" パスワード=テストアルゴリズム=PBEWithMD5AndDES結果は以下のようになります:
以上がSpringBoot が構成ファイルの SQL アカウントのパスワードを暗号化する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

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

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

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

ホットトピック









HQL と SQL は Hibernate フレームワークで比較されます。HQL (1. オブジェクト指向構文、2. データベースに依存しないクエリ、3. タイプ セーフティ)、SQL はデータベースを直接操作します (1. データベースに依存しない標準、2. 複雑な実行可能ファイル)。クエリとデータ操作)。

「OracleSQLでの除算演算の使用方法」 OracleSQLでは、除算演算は一般的な数学演算の1つです。データのクエリと処理中に、除算演算はフィールド間の比率を計算したり、特定の値間の論理関係を導出したりするのに役立ちます。この記事では、OracleSQL での除算演算の使用法を紹介し、具体的なコード例を示します。 1. OracleSQL における除算演算の 2 つの方法 OracleSQL では、除算演算を 2 つの異なる方法で実行できます。

Oracle と DB2 は一般的に使用される 2 つのリレーショナル データベース管理システムであり、それぞれに独自の SQL 構文と特性があります。この記事では、Oracle と DB2 の SQL 構文を比較し、相違点を示し、具体的なコード例を示します。データベース接続 Oracle では、次のステートメントを使用してデータベースに接続します: CONNECTusername/password@database DB2 では、データベースに接続するステートメントは次のとおりです: CONNECTTOdataba

MyBatis 動的 SQL タグの解釈: Set タグの使用法の詳細な説明 MyBatis は、豊富な動的 SQL タグを提供し、データベース操作ステートメントを柔軟に構築できる優れた永続層フレームワークです。このうち、Set タグは、UPDATE ステートメントで SET 句を生成するために使用され、更新操作でよく使用されます。この記事では、MyBatis での Set タグの使用法を詳細に説明し、特定のコード例を通じてその機能を示します。 SetタグとはMyBatiで使用するSetタグです。

SQL における Identity とは何ですか? 具体的なコード例が必要です。SQL では、Identity は自動インクリメント数値の生成に使用される特別なデータ型です。多くの場合、テーブル内のデータの各行を一意に識別するために使用されます。 Identity 列は、各レコードが一意の識別子を持つようにするために、主キー列と組み合わせてよく使用されます。この記事では、Identity の使用方法といくつかの実用的なコード例について詳しく説明します。 Identity の基本的な使用方法は、テーブルを作成するときに Identity を使用することです。

SpringBoot と SpringMVC はどちらも Java 開発で一般的に使用されるフレームワークですが、それらの間には明らかな違いがいくつかあります。この記事では、これら 2 つのフレームワークの機能と使用法を調べ、その違いを比較します。まず、SpringBoot について学びましょう。 SpringBoot は、Spring フレームワークに基づいたアプリケーションの作成と展開を簡素化するために、Pivotal チームによって開発されました。スタンドアロンの実行可能ファイルを構築するための高速かつ軽量な方法を提供します。

MySQL でデータの集計と統計に SQL ステートメントを使用するにはどうすればよいですか?データの集計と統計は、データ分析と統計を実行する際の非常に重要な手順です。 MySQL は強力なリレーショナル データベース管理システムとして、データの集約と統計操作を簡単に実行できる豊富な集約機能と統計機能を提供します。この記事では、SQL ステートメントを使用して MySQL でデータの集計と統計を実行する方法を紹介し、具体的なコード例を示します。 1. カウントには COUNT 関数を使用します。COUNT 関数は最も一般的に使用されます。

解決策: 1. ログインしているユーザーがデータベースにアクセスまたは操作するための十分な権限を持っているかどうかを確認し、ユーザーが正しい権限を持っているかどうかを確認します; 2. SQL Server サービスのアカウントに指定されたファイルまたはデータベースにアクセスする権限があるかどうかを確認します。 3. 指定されたデータベース ファイルが他のプロセスによって開かれているかロックされているかどうかを確認し、ファイルを閉じるか解放して、クエリを再実行します。管理者として試してください。Management Studio をなどとして実行します。
