Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> MySQL

Cách lưu username và password an toàn trong MySQL?

Dùng hàm MD5() để băm mật khẩu trước khi lưu.

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 dữ liệu dùng 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'));

Kết quả

+------+-------------+----------------------------------+
| U_Id | UserId      | UserPassword                     |
+------+-------------+----------------------------------+
| 1    | John@gg.com | 6e0b7076126a29d5dfcbd54835387b7b |
| 2    | 5f565a3d... | f1d2fb85f7d6ce7428b9b3fd569be42b |
+------+-------------+----------------------------------+

Lưu ý: MD5 hiện không còn an toàn cho production, nên dùng bcrypt/argon2.