如何安全地将用户名和密码存储在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`)
- > );
Query OK, 0 rows affected (0.61 sec)
通过MD5()插入记录并安全地存储密码。
mysql> INSERT INTO UserNameAndPasswordDemo(UserId, UserPassword) VALUES ('John@gg.com', MD5('john123'));
Query OK, 1 row affected (0.17 sec)
mysql> INSERT INTO UserNameAndPasswordDemo(UserId, UserPassword) VALUES (MD5('Carol@gg.com'), MD5('123Carol'));
Query OK, 1 row affected (0.14 sec)
现在,我们将实现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)
阅读更多:MySQL 教程
极客教程