ในการดำเนินการเข้ารหัสข้อมูลที่ลับจำพวก Password ในพีเอชพี ระหว่าง md5() กับ password_hash() ต่างกันอย่างไร

md5() ส่งคืนผลลัพธ์เดียวกันทุกครั้ง password_hash() ส่งคืนผลลัพธ์ต่างกัน
ทั้งสองเหมือนกัน แต่ password_hash() รวดเร็วกว่า
password_hash() มีการเพิ่ม Salt และใช้อัลกอริทึมปลอดภัยทันสมัยเช่น bcrypt ส่วน md5() ไม่มี Salt และถูกแฮคได้ง่าย
md5() เป็นการแฮช ส่วน password_hash() เป็นการเข้ารหัส

เฉลยอธิบาย

password_hash() ใช้ bcrypt (หรือ Argon2) ซึ่งมี Salt และอัลกอริทึมที่ยืดเวลาการปฏิบัติ ทำให้ยากต่อการออกแรงดุร้ายหา (Brute Force) md5() ล้าสมัยและมีความเสี่ยงต่อเรนโบว์ เทเบิล ตัวเลือก A ไม่ถูกต้อง B ทั้งคู่เป็นแฮช C ถูกแต่การอธิบายไม่ครบถ้วน D จริงแต่ไม่ใช่จุดสำคัญของความปลอดภัย

ข้อสอบอื่นในวิชาหลักการพื้นฐานในการเขียนโปรแกรม และความรู้เกี่ยวกับ การพัฒนา Web Application เช่น PHP,HTML, JavaScript และเทคโนโลยีทางเว็บ

ดูข้อสอบวิชานี้ทั้งหมด →