MySQL の暗号化と復号化の例

MySQL の暗号化と復号化の例

MySQL の暗号化と復号化の例

データの暗号化と復号化はセキュリティ分野で非常に重要です。プログラマーにとって、ユーザーのパスワードを暗号文でデータベースに保存することは、ユーザーのプライバシーを盗む侵入者にとって大きな意味を持ちます。
データの暗号化と復号化に使用できるフロントエンド暗号化アルゴリズムは多種多様です。ここでは、シンプルなデータベース レベルのデータ暗号化と復号化のソリューションをお勧めします。 MySQL データベースを例にとると、対応する暗号化関数 (AES_ENCRYPT()) と復号化関数 (AES_DECRYPT()) が組み込まれています。

テーブルを構築するときは、フィールドの種類に注意してください。次の図に示すように:

暗号化されたデータをテーブルに挿入する

上記の挿入ステートメントには、「ユーザー名」、「パスワード」、および「暗号化されたパスワード」の 3 つのフィールドがあります。 AES_ENCRYPT() 関数では、暗号化を支援するために「キー」が必要であり、復号化にも必要です (覚えておいてください)。

以下は、表内のデータのスクリーンショットです。

上記の挿入ステートメントには、「ユーザー名」、「パスワード」、および「暗号化されたパスワード」の 3 つのフィールドがあります。 AES_ENCRYPT() 関数では、暗号化を支援するために「キー」が必要であり、復号化にも必要です (覚えておいてください)。

以下は、表内のデータのスクリーンショットです。

テーブルから暗号化されたデータをクエリする

上記のクエリでは、AES_DECRYPT() 関数が使用されています。結果は次のとおりです。

上記のスクリーンショットでは、「pasword」フィールドと「decryptedpassword」フィールドの値が同じであることがわかります。つまり、ユーザー パスワードが復号化されているということです。

読んでいただきありがとうございます。お役に立てれば幸いです。このサイトをサポートしていただきありがとうございます。

以下もご興味があるかもしれません:
  • Java、JavaScript、Oracle、MySQL に実装された MD5 暗号化アルゴリズムの共有
  • mysql および mssql の MD5 暗号化ステートメント
  • PHP MySQL アプリケーションで XOR 暗号化アルゴリズムを使用する
  • MySQL 暗号化/圧縮関数
  • MySQL 双方向暗号化と復号化の使用方法の詳細な説明
  • MySQL テーブル全体の暗号化ソリューション keyring_file の詳細な説明

<<:  Windows はリモート デスクトップが長時間自動的に切断されるのを防ぎます

>>:  Webpack でよく使われる 12 個の Loader を共有する (要約)

推薦する

React Router 5.1.0 はページジャンプナビゲーションを実装するために useHistory を使用します

目次1. withRouterコンポーネントを使用する2. ルートタグを使用するReactRoute...

ベスト HTML/CSS デザインおよび開発フレームワーク 15 選を紹介します

プロフェッショナルな Web デザインは複雑で時間がかかります。 HTML と CSS フレームワー...

Linuxシステムにおけるプロセス管理の詳細な説明

目次1. プロセスとスレッドの概念2. プロセス管理とは何ですか? 3. プロセス管理の役割4. L...

Vueはシンプルなショッピングカートの例を実装します

この記事では、参考までに、シンプルなショッピングカートケースを実装するためのVueの具体的なコードを...

MySQLデータベースイベントスケジュール実行タスクの詳細な説明

1. 背景プロジェクトの業務が進むにつれて、データベース テーブルの数がどんどん大きくなり、ハードデ...

Linux で Squid プロキシ サーバーを構築するための完全な手順

序文この記事では、Linux で Squid プロキシ サーバーを設定することに関する関連コンテンツ...

親要素に対する CSS 子要素の配置の実装

解決親要素に position:relative を追加します。子要素に position:abso...

Samba を使用して Linux サーバー上で共有ファイル サービスを構築する方法

最近、私たちの小さなチームは、サーバー上の共有フォルダーを共有して、全員がパブリックリソースドキュメ...

TypeScriptのインデックスシグネチャの理解に関する簡単な説明

目次1. インデックス署名とは何ですか? 2. インデックス署名構文3. インデックス署名に関する注...

マウスがカード上に移動したときにフローティング効果を実現する CSS の使用例

原理ホバーしたときに要素に影を設定します: box-shadow で、通常とは異なるスタイルにします...

HTML webpackプラグインの使用に関する簡単な分析

html-webpack-pluginプラグインを使用してページを開始すると、htmlページをメモリ...

ネストされた HTML ページの使用例 (フレームセットの使用)

コードをコピーコードは次のとおりです。 <!DOCTYPE html PUBLIC "...

uniappは録音アップロード機能を実現

目次uni-app の紹介HTML部分js部分インスタンスを作成する録音を開始録音終了録音を再生再生...

タブ切り替え機能を実装するJavaScriptカスタムプラグイン

この記事では、タブ切り替え機能を実装するためのJavaScriptの具体的なコードを参考までに共有し...