MySQL
 Computer >> コンピューター >  >> プログラミング >> MySQL

ユーザーパスワード列を持つMySQLテーブルでMD5をSHA256に変換できますか?


SHA2()を使用して、MD5パスワードをSHA256に変換します。ハッシュ関数のSHA-2ファミリー、つまりSHA-224、SHA-256、SHA-384、SHA-512を計算します。

まずテーブルを作成しましょう-

mysql> create table DemoTable818(UserPassword text);
Query OK, 0 rows affected (0.51 sec)

挿入コマンド-

を使用して、テーブルにいくつかのレコードを挿入します
mysql> insert into DemoTable818 values(MD5('John_123'));
Query OK, 1 row affected (0.11 sec)
mysql> insert into DemoTable818 values(MD5('999Carol@22'));
Query OK, 1 row affected (0.14 sec)

selectステートメントを使用してテーブルのすべてのレコードを表示する-

mysql> select *from DemoTable818;

これにより、次の出力が生成されます-

+----------------------------------+
| UserPassword                     |
+----------------------------------+
| 47c7d0987db4e59e2264ce9fefce4977 |
| 950aa70edd5b686a807b3bfffdf2248c |
+----------------------------------+
2 rows in set (0.00 sec)

以下は、MD5をSHA256に変換するためのクエリです-

mysql> update DemoTable818 set UserPassword=SHA2(UserPassword,256);
Query OK, 2 rows affected (0.19 sec)
Rows matched: 2 Changed: 2 Warnings: 0

テーブルレコードをもう一度確認しましょう-

mysql> select *from DemoTable818;

これにより、次の出力が生成されます-

+------------------------------------------------------------------+
| UserPassword                                                     |
+------------------------------------------------------------------+
| 8b68c46294a9ccb2449324c24fe774f95b7c14e4b56fc51c7f8e6c5b01c7020f |
| 9cc80741546051ae3de7d31246327968c98af3c65125376acb7b49a0760d42a3 |
+------------------------------------------------------------------+
2 rows in set (0.00 sec)

  1. MySQLテーブルにuserという単語を使用できますか?

    MySQLの予約語であるため、MySQLテーブルに「user」を使用することはできません。名前をユーザーからユーザーなどに変更したり、ユーザーの単語の前後にバッククォートを使用したりできます。 ユーザーという単語は、ユーザーを作成するために使用することも、MySQLデータベースからユーザーリストを選択するために使用することもできます。 まず、テーブルを作成しましょう。ここでは、テーブル名users-を使用しました mysql> create table users    -> (    -> UserId int NOT NULL

  2. MySQL8で列名として「ランク」を使用できますか?

    ランクは、MySQLバージョン8.0.2で定義されているMySQLの予約語です。したがって、ランクを列名として使用することはできません。ランクの周りでバッククォートを使用する必要があります。 まず、作業中のMySQLのバージョンを確認しましょう。ここでは、MySQLバージョン8.0.12を使用しています- mysql> select version(); +-----------+ | version() | +-----------+ | 8.0.12    | +-----------+ 1 row in set (0.00 sec) 列名に「ランク」を使用し