ในการดำเนินการเข้ารหัสข้อมูลที่ลับจำพวก 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 จริงแต่ไม่ใช่จุดสำคัญของความปลอดภัย