Computer >> Máy Tính >  >> Lập trình >> MySQL

Làm thế nào để lưu trữ tên người dùng và mật khẩu một cách an toàn trong cơ sở dữ liệu MySQL?


Để lưu trữ tên người dùng và mật khẩu an toàn trong cơ sở dữ liệu MySQL, chúng ta có thể sử dụng MD5 ().

Hãy để chúng tôi xem một ví dụ. Đầu tiên, chúng ta sẽ tạo một bảng. Lệnh CREATE được sử dụng để tạo bảng.

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)

Chèn bản ghi và lưu trữ mật khẩu một cách an toàn với sự trợ giúp của 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)

Bây giờ, chúng ta sẽ thực hiện câu lệnh SELECT để hiển thị các bản ghi, bao gồm cả mật khẩu trong MD5. Ở đây, chúng tôi chỉ hiển thị các bản ghi cho UserId 'John@gg.com'.

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

Sau đây là kết quả.

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

Để hiển thị tất cả các bản ghi.

mysql> SELECT *from UserNameAndPasswordDemo;

Sau đây là kết quả trong đó chúng tôi đã lưu tên người dùng và mật khẩu bằng MD5 -

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