Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> MySQL

จะเก็บชื่อผู้ใช้และรหัสผ่านอย่างปลอดภัยในฐานข้อมูล MySQL ได้อย่างไร


ในการจัดเก็บชื่อผู้ใช้และรหัสผ่านอย่างปลอดภัยในฐานข้อมูล MySQL เราสามารถใช้ MD5()

เรามาดูตัวอย่างกัน ขั้นแรกเราจะสร้างตาราง คำสั่ง CREATE ใช้สำหรับสร้างตาราง

mysql> สร้างตาราง UserNameAndPasswordDemo-> (-> U_Id int(10) ไม่ได้ลงนาม NOT NULL AUTO_INCREMENT,-> UserId varchar(255) DEFAULT NULL,-> UserPassword varchar(255) DEFAULT NULL,-> primary key (U_Id) ,-> UNIQUE KEY `UserId` (`UserId`)-> );ตกลง ตกลง 0 แถวได้รับผลกระทบ (0.61 วินาที)

การแทรกบันทึกและจัดเก็บรหัสผ่านอย่างปลอดภัยด้วยความช่วยเหลือของ MD5()

mysql> INSERT INTO UserNameAndPasswordDemo(UserId, UserPassword) VALUES ('John@gg.com', MD5('john123'));Query OK, 1 แถวได้รับผลกระทบ (0.17 วินาที)mysql> INSERT INTO UserNameAndPasswordDemo(UserId, UserPassword ) VALUES (MD5('Carol@gg.com'), MD5('123Carol'));แบบสอบถามตกลง ได้รับผลกระทบ 1 แถว (0.14 วินาที)

ตอนนี้ เราจะใช้คำสั่ง SELECT เพื่อแสดงบันทึก รวมถึงรหัสผ่านใน MD5 ที่นี่ เราจะแสดงเฉพาะบันทึกสำหรับ UserId 'John@gg.com'

mysql> SELECT *จาก UserNameAndPasswordDemo โดยที่ UserId='John@gg.com';

ต่อไปนี้เป็นผลลัพธ์

<ก่อนหน้า>+------+-------------+------------------------- ---------+| U_Id | รหัสผู้ใช้ | รหัสผ่านผู้ใช้ |+------+-------------+-------------------------- --------+| 1 | John@gg.com | 6e0b7076126a29d5dfcbd54835387b7b |+------+-------------+-------------------------- --------+1 แถวในชุด (0.00 วินาที)

เพื่อแสดงรายการทั้งหมด

mysql> SELECT *จาก UserNameAndPasswordDemo;

ต่อไปนี้เป็นผลลัพธ์ที่เราได้บันทึกชื่อผู้ใช้และรหัสผ่านโดยใช้ MD5 -

<ก่อนหน้า>+------+-----------------------------------+---- ------------------------------+| U_Id | รหัสผู้ใช้ | รหัสผ่านผู้ใช้ |+------+-----------------------------------+----- ------------------------------------+| 1 | John@gg.com | 6e0b7076126a29d5dfcbd54835387b7b || 2 | 5f565a3d794f85e5db4f3bb7b5811a25 | f1d2fb85f7d6ce7428b9b3fd569be42b |+------+ ----------------------------------+ ----- ------------------------------------+2 แถวในชุด (0.00 วินาที)