ユーザーの暗号化パスワードを計算する

MySQLMySQLBeginner
今すぐ練習

💡 このチュートリアルは英語版からAIによって翻訳されています。原文を確認するには、 ここをクリックしてください

はじめに

このプロジェクトでは、MySQLでSHA関数を使ってユーザーのパスワードを暗号化する方法を学びます。これは、Webアプリケーションでユーザーのパスワードを安全に保存するための一般的な手法です。

👀 プレビュー

MySQL暗号化プロセスのプレビュー

🎯 タスク

このプロジェクトでは、以下を学びます。

  • sudoコマンドを使ってパスワードなしでMySQLデータベースにアクセスする方法
  • SHA関数を使ってパスワードを暗号化する方法
  • パスワードを暗号化するSQL文をスクリプトファイルに保存する方法

🏆 成果

このプロジェクトを完了すると、以下のことができるようになります。

  • MySQLでSHA関数を使ってユーザーのパスワードを暗号化する
  • パスワード暗号化プロセスを自動化するためのスクリプトファイルを作成する
  • Webアプリケーションでユーザーのパスワードを安全に保存する重要性を理解する

Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL mysql(("MySQL")) -.-> mysql/BasicKeywordsandStatementsGroup(["Basic Keywords and Statements"]) mysql(("MySQL")) -.-> mysql/DatabaseFunctionsandDataTypesGroup(["Database Functions and Data Types"]) mysql(("MySQL")) -.-> mysql/TransactionManagementandSecurityGroup(["Transaction Management and Security"]) mysql(("MySQL")) -.-> mysql/SystemManagementToolsGroup(["System Management Tools"]) mysql/BasicKeywordsandStatementsGroup -.-> mysql/use_database("Database Selection") mysql/BasicKeywordsandStatementsGroup -.-> mysql/select("Data Retrieval") mysql/BasicKeywordsandStatementsGroup -.-> mysql/source("External Code Execution") mysql/DatabaseFunctionsandDataTypesGroup -.-> mysql/database("DB Function - Info Retrieval") mysql/DatabaseFunctionsandDataTypesGroup -.-> mysql/user("User Info Function") mysql/TransactionManagementandSecurityGroup -.-> mysql/identified_by("User Authentication") mysql/SystemManagementToolsGroup -.-> mysql/mysqladmin("Admin Utility") subgraph Lab Skills mysql/use_database -.-> lab-301290{{"ユーザーの暗号化パスワードを計算する"}} mysql/select -.-> lab-301290{{"ユーザーの暗号化パスワードを計算する"}} mysql/source -.-> lab-301290{{"ユーザーの暗号化パスワードを計算する"}} mysql/database -.-> lab-301290{{"ユーザーの暗号化パスワードを計算する"}} mysql/user -.-> lab-301290{{"ユーザーの暗号化パスワードを計算する"}} mysql/identified_by -.-> lab-301290{{"ユーザーの暗号化パスワードを計算する"}} mysql/mysqladmin -.-> lab-301290{{"ユーザーの暗号化パスワードを計算する"}} end

MySQLにアクセスする

このステップでは、パスワードなしでsudoコマンドを使ってMySQLデータベースにアクセスする方法を学びます。

  1. システム上のターミナルを開きます。
  2. 以下のコマンドを実行してMySQLサービスを起動します。
sudo service mysql start
  1. 次に、以下のコマンドを実行してMySQLクライアントにアクセスします。
sudo mysql

これにより、パスワードなしでMySQLデータベースにアクセスできるようになります。

ジェーンのパスワードを暗号化する

このステップでは、SHA関数を使ってジェーンのパスワードを暗号化し、暗号化されたパスワードを表示する方法を学びます。

  1. MySQLクライアント内で、以下のSQL文を実行します。
SELECT SHA('jane1234') AS `Password`;

この文は、SHA関数を使ってパスワード'jane1234'を暗号化し、エイリアス'Password'で暗号化されたパスワードを表示します。

スクリプトを保存する

このステップでは、SQL文をスクリプトファイルに保存します。

  1. 好きなテキストエディタを使って、/home/labex/projectディレクトリに新しいファイルshaPassword.sqlを作成します。

  2. 以下のSQL文をファイルに追加します。

    SELECT SHA('jane1234') AS `Password`;
  3. ファイルを保存します。

    これで、プロジェクトが完了しました。MySQLクライアントで以下のコマンドを使ってスクリプトを実行できます。

    SOURCE /home/labex/project/shaPassword.sql;

    これにより、SQL文が実行され、暗号化されたパスワードが表示されます。

以下の出力を参照できます。

MariaDB [(none)]> SOURCE /home/labex/project/shaPassword.sql;
+------------------------------------------+
| Password                                 |
+------------------------------------------+
| b83755992eaa20453a0cd68fc01837c2422a6886 |
+------------------------------------------+
1 row in set (0.000 sec)
✨ 解答を確認して練習

まとめ

おめでとうございます!このプロジェクトを完了しました。あなたは実験(Lab)をもっとたくさん行って技術力を向上させることができます。