5,404   5 encrypt กับ MD5 อันไหนใช้ดีกว่ากันคะ



Pennapa


พลังงานการช่วยเหลือ
( Level 1 )


คะแนนขอบคุณจากสมาชิก
( 0 )


ตอบกระทู้ ( 6 )
เขียนบทความ ( 0 )

https://drive.google.com/file/d/0Bz0wpJT7XoWsQy1SZDQ0Si1ubms/view?usp=sharing - ภาพโชว์ password

https://drive.google.com/file/d/0Bz0wpJT7XoWsNHNtdTNLOGNFN00/view?usp=sharing - ภาพกรอก forgetpassword password


ี่คะคือถถ้าใช้ MD5 น้องถอดรหัส password ไม่ได้ค่ะพี่แต่ว่า encrypt มันดูยากไปพี่พอมีวิธีที่เข้าใจง่ายกว่านี้มั้ยคะ ขอคำแนะนำหน่อยค่ะ
ความคิดเห็นที่ 1
อ้างอิงความเห็น


bamossza


พลังงานการช่วยเหลือ
( Level 3 )


คะแนนขอบคุณจากสมาชิก
( 16 )


ตอบกระทู้ ( 112 )
เขียนบทความ ( 28 )

MD5 ย่อมาจาก Message-Digest algorithm 5 คือ รูปแบบการเข้ารหัสแบบ Hash ชนิดหนึ่ง
การเข้ารหัสแบบ Hash (Cryptographic hash) คือ การแปลงรูปแบบของข้อมูลที่รับเข้ามาไม่ว่าขนาดเท่าใดก็ตาม ให้อยู่ในอีกรูปแบบหนึ่งที่มีขนาดคงที่ เพราะฉะนั้น จะไม่สามารถเรียกดูข้อมูลต้นฉบับได้ (Decrypt) ทำได้เพียงตรวจสอบว่าข้อมูลที่ให้มาแต่ละครั้งเหมือนกันหรือไม่ ความปลอดภัยจึงค่อนข้างสูง ในที่นี้ MD5 เป็นการเข้ารหัสแบบ 128-bit ให้ค่าเป็นตัวเลขฐาน 16 (0123456789abcd) ขนาด 32 ตัวอักษร แต่ก็มีบางประเภทที่ให้ค่าเป็น binary และ base64

ประโยชน์ของการเข้ารหัสแบบ MD5
1.นำไปตรวจสอบความถูกต้องของไฟล์ สมมติว่ามีไฟล์สองไฟล์ ถ้าเนื้อหาในไฟล์เหมือนกันทุกประการ ก็จะได้ค่า MD5 เหมือนกัน แต่หากว่า ค่า MD5 ไม่ตรงกัน นั้นแสดงว่าต้องมีไฟล์ใดๆไฟล์หนึ่งที่ไม่สมบูรณ์ ซึ่งการตรวจสอบ MD5 สามารถทำได้ ด้วยการใช้โปรแกรมช่วย เช่น WinMD5Sum
2.นำไปใช้ในการเก็บข้อมูลที่ไม่ต้องการเปิดเผย เช่น เก็บรหัสผ่านไว้ในฐานข้อมูล

การแปลงค่า MD5 ทำได้โดย วิธีการที่เรียกว่า Brute-Force (หาค่าตั้งแต่ a-z และนำไปเปรียบเทียบ จากนั้นก็เป็น aa-zz และต่อไปเรื่อยๆ) นอกเหนือไปจากนี้ยังมีวิธีการที่เรียกว่า Hash Collision (การชนกันของ Hash)
นอกจากการเข้ารหัสแบบ MD5 แล้วยังใีการเข้ารหัสแบบอื่น เช่น Encryption และ bytecode เป็นต้น
อ้างอิง :: http://www.mindphp.com/%E0%B8%84%E0%B8%B9%E0%B9%88%E0%B8%A1%E0%B8%B7%E0%B8%AD/73-%E0%B8%84%E0%B8%B7%E0%B8%AD%E0%B8%AD%E0%B8%B0%E0%B9%84%E0%B8%A3/2067-md5-%E0%B8%84%E0%B8%B7%E0%B8%AD%E0%B8%AD%E0%B8%B0%E0%B9%84%E0%B8%A3.html

ปกติที่ผมทำฟังก์ชั่น :: กรณีลืมรหัสผ่าน
รหัสผ่านของผู้ใช้ทุกท่าน ผมจะเข้ารหัสด้วย MD5 ครับ เนื่องจากการเข้ารหัสแบบ MD5 เป็น function ที่มาพร้อมกับ php แล้วทำให้ง่ายดายแก่การใช้งาน
ไม่ว่าจะผู้ใช้จะกรอกรหัสผ่านมากี่ตัว ก็จะถูก Encode เป็น 32 ตัว ครับ และไม่สามารถ Decode ได้ (One-way)


เมื่อไหร่ที่ผู้ใช้ลืมรหัสผ่าน :: ผมจะให้ผู้ใช้กรอก username and email เพื่อส่งเมล์ให้ผู้ใช้ เปลี่ยนแปลงรหัสผ่านใหม่ หรือ Re-Password ใหม่ไปเลย 

ความคิดเห็นที่ 2
อ้างอิงความเห็น


poomtest2


พลังงานการช่วยเหลือ
( Level 1 )


คะแนนขอบคุณจากสมาชิก
( 0 )


ตอบกระทู้ ( 1 )
เขียนบทความ ( 0 )

admin ตอบสะยาว หลักๆก็ บรรทัดสุดท้ายแหละครับ   ถ้าใช้MD5  ให้ใช้เป็น Re-Password ใหม่ไปเลย


**** ปัจจุบัน MD5 เริ่มไม่ปลอดภัยแล้วนะครับ แต่ก็ถือว่ายังปลอดภัยที่สุด  เพราะปัจจุบันมีเว็บไซต์ต่างๆเก็บข้อมูลเอามาเปรียบเทียบกัน ซึ่งแต่ละเว็บไซต์มีฐานข้อมูลเชื่อมโยงกัน และมีคำให้เปรียบเทียบกันมากกว่า  1,000,000,000++ คำ
ความคิดเห็นที่ 3
อ้างอิงความเห็น


bamossza


พลังงานการช่วยเหลือ
( Level 3 )


คะแนนขอบคุณจากสมาชิก
( 16 )


ตอบกระทู้ ( 112 )
เขียนบทความ ( 28 )

อ้างอิงจากความเห็นที่ 2


coollaughing
ความคิดเห็นที่ 4
อ้างอิงความเห็น


Pennapa


พลังงานการช่วยเหลือ
( Level 1 )


คะแนนขอบคุณจากสมาชิก
( 0 )


ตอบกระทู้ ( 6 )
เขียนบทความ ( 0 )

ขอบคุณค่ะพี่
ความคิดเห็นที่ 5
อ้างอิงความเห็น


bamossza


พลังงานการช่วยเหลือ
( Level 3 )


คะแนนขอบคุณจากสมาชิก
( 16 )


ตอบกระทู้ ( 112 )
เขียนบทความ ( 28 )

laughingembarassed

แสดงความเห็น

อัพโหลดรูปภาพ..คลิก *** เพื่อความปลอดภัยในด้านสิทธิ ไม่อนุญาติให้นำลิ้งรูปภาพจากที่อื่นมาแปะ ถ้าพบเจอ ลบกระทู้ ทันที ***

Back to Top