如何在MySQL数据库中安全存储用户名和密码?

为了将用户名和密码安全地存储在MySQL数据库中,我们可以使用MD5()。

让我们来看一个例子。首先,我们将创建一个表。CREATE命令用于创建表。

mysql> create table UserNameAndPasswordDemo
- > (
- > U_Id int(10) unsigned NOT NULL AUTO_INCREMENT,
- > UserId varchar(255) DEFAULT NULL,
- > UserPassword varchar(255) DEFAULT NULL,
- > primary key(U_Id),
- > UNIQUE KEY `UserId` (`UserId`)
- > );

借助MD5()插入记录并安全存储密码。

mysql> INSERT INTO UserNameAndPasswordDemo(UserId, UserPassword) VALUES ('John@gg.com', MD5('john123'));

mysql> INSERT INTO UserNameAndPasswordDemo(UserId, UserPassword) VALUES (MD5('Carol@gg.com'), MD5('123Carol'));

现在,我们将实现SELECT语句以显示记录,包括MD5中的密码。在这里,我们仅显示UserId'John@gg.com'的记录。

mysql> SELECT *from UserNameAndPasswordDemo where UserId='John@gg.com';

以下是输出。

+------+-------------+----------------------------------+
| U_Id | UserId      | UserPassword                     |
+------+-------------+----------------------------------+
| 1    | John@gg.com | 6e0b7076126a29d5dfcbd54835387b7b |
+------+-------------+----------------------------------+
1 row in set (0.00 sec)

显示所有记录。

mysql> SELECT *from UserNameAndPasswordDemo;

以下是输出,其中我们使用MD5保存了用户名和密码-

+------+----------------------------------+----------------------------------+
| U_Id | UserId                           | UserPassword                     |
+------+----------------------------------+----------------------------------+
| 1    | John@gg.com                      | 6e0b7076126a29d5dfcbd54835387b7b |
| 2    | 5f565a3d794f85e5db4f3bb7b5811a25 | f1d2fb85f7d6ce7428b9b3fd569be42b |
+------+----------------------------------+----------------------------------+
2 rows in set (0.00 sec)