Hướng dẫn how to store password in database mysql - cách lưu trữ mật khẩu trong cơ sở dữ liệu mysql

Để 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, chúng ta có thể sử dụng md5 [].

Hãy cho chúng tôi xem một ví dụ. Đầu tiên, chúng tôi sẽ tạo một bảng. Lệnh tạo được sử dụng để tạo một 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 hồ sơ 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 ['', MD5['john123']];
Query OK, 1 row affected [0.17 sec]

mysql> INSERT INTO UserNameAndPasswordDemo[UserId, UserPassword] VALUES [MD5[''], MD5['123Carol']];
Query OK, 1 row affected [0.14 sec]

Bây giờ, chúng tôi sẽ triển khai câu lệnh CHỌN để 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 ''.

mysql> SELECT *from UserNameAndPasswordDemo where UserId='';

Sau đây là đầu ra.

+------+-------------+----------------------------------+
| U_Id | UserId      | UserPassword                     |
+------+-------------+----------------------------------+
| 1    |  | 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à đầu ra 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    |                       | 6e0b7076126a29d5dfcbd54835387b7b |
| 2    | 5f565a3d794f85e5db4f3bb7b5811a25 | f1d2fb85f7d6ce7428b9b3fd569be42b |
+------+----------------------------------+----------------------------------+
2 rows in set [0.00 sec]

Cập nhật vào ngày 26 tháng 6 năm 2020 12:50:08

  • Câu hỏi và câu trả lời liên quan
  • Làm thế nào để lưu trữ và truy xuất một ngày vào cơ sở dữ liệu MySQL bằng Python?
  • MySQL lưu trữ các tệp cơ sở dữ liệu ở đâu?
  • Làm thế nào để lưu trữ số lượng thập phân PayPal trong cơ sở dữ liệu MySQL?
  • Làm thế nào để lưu trữ và truy xuất ngày vào cơ sở dữ liệu SQLite3 bằng Python?
  • Cách dễ nhất để lưu trữ ngày trong cơ sở dữ liệu MySQL là gì?
  • Làm thế nào để lưu trữ đầu ra truy vấn trong cơ sở dữ liệu TEMP MongoDB?
  • Làm thế nào để lưu trữ thập phân trong mysql?
  • Làm thế nào để chúng tôi chèn/lưu trữ một tệp vào cơ sở dữ liệu MySQL bằng JDBC?
  • Làm thế nào để mở/đóng các tệp một cách an toàn trong Python?
  • Cách tạo mật khẩu ngẫu nhiên trong Linux trong Linux
  • Phân biệt giữa bảng lưu trữ hàng và cột trong cơ sở dữ liệu SAP HANA
  • Kiểu dữ liệu mysql chỉ lưu trữ tháng và năm?
  • Viết một truy vấn để lưu trữ và truy xuất thông tin sổ sách trong cơ sở dữ liệu [DBMS]?
  • Làm thế nào để lưu trữ dữ liệu trong MySQL dưới dạng JSON?
  • Làm thế nào để dừng một vòng lặp vô hạn một cách an toàn trong Python?

Trước hết, MD5 và SHA1 đã được chứng minh là dễ bị các cuộc tấn công va chạm và có thể được lập cầu vồng dễ dàng [khi họ thấy bạn băm có giống nhau trong cơ sở dữ liệu của họ về mật khẩu thông thường].

Hiện tại có hai thứ đủ an toàn cho mật khẩu mà bạn có thể sử dụng.

Đầu tiên là SHA512. SHA512 là phiên bản phụ của SHA2. SHA2 vẫn chưa được chứng minh là dễ bị tấn công va chạm và SHA512 sẽ tạo ra hàm băm 512 bit. Dưới đây là một ví dụ về cách sử dụng SHA512:

Bài Viết Liên Quan

Chủ Đề