Можем ли мы преобразовать MD5 в SHA256 в таблице MySQL со столбцом пароля пользователя?
Используйте 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)