Email: thekaroe@hotmail.com, Tel: 086-8776053, 085-0112307 (ถาวร)
username: password: สมัครสมาชิก
เยี่ยมชม   ครั้ง 21,352 สมาชิก 688 VDO
3,286 บลอก 287 บทความ 222 E-Book
495 บทความ IT 44 ตัวอย่างโค้ด 631 กระทู้
ค้นหา:
VDO เพื่อการศึกษา
JAVA

PHP

HTML & CSS for web design

แรงบันดาลใจ
  - web app

C C++

SQL

JAVA Web Framework

.NET Technology
VB.NET 2008 Basic
ภาษา C# เบื้องต้น

iOS Programming



สมาชิกที่ Online คน
บุคคลทั่วไป คน

สมาชิกที่แจ้งการชำระเงิน



MD5 (อ่าน 568, คอมเมน 1)

MD5 เป็นรูปแบบการเข้ารหัสแบบ Hash ชนิดหนึ่งครับ

การเข้ารหัสแบบ Hash (Cryptographic hash) หมายถึง การแปลงรูปแบบของข้อมูลที่รับเข้ามาไม่ว่าขนาดเท่าใดก็ตาม ให้อยู่ในอีกรูปแบบหนึ่งที่มีขนาดคงที่ เพราะฉะนั้น จะไม่สามารถเรียกดูข้อมูลต้นฉบับได้ (Decrypt) ทำได้เพียงตรวจสอบว่าข้อมูลที่ให้มาแต่ละครั้งเหมือนกันหรือไม่
ตัวอย่าเช่น กำหนดรหัส a เมื่อเป็น MD5 จะได้ 0cc175b9c0f1b6a831c399e269772661
แต่เราจะไม่สามารถรู้ว่าค่า 0cc175b9c0f1b6a831c399e269772661 เท่ากับ a
แต่ไม่ว่าจะป้อนค่า a กี่ครั้ง ค่า MD5 ก็จะได้ 0cc175b9c0f1b6a831c399e269772661 เหมือนเดิมทุกครั้ง

ในที่นี้ MD5 เป็นการเข้ารหัสแบบ 128-bit ให้ค่าเป็นตัวเลขฐาน 16 (0123456789abcd) ขนาด 32 ตัวอักษร แต่ก็มีบางประเภทที่ให้ค่าเป็น binary และ base64 (การเข้ารหัสอีกแบบ แต่สามารถถอดรหัสได้)

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

อย่างไรก็ตาม MD5 ไม่ได้มีความปลอดภัยแล้วในปัจจุบันเนื่องจากคอมพิวเตอร์ในปัจจุบันเร็วขึ้นมาก การแปลงค่า MD5 ทำได้เร็วขึ้น ก็สามารถทราบค่าต้นฉบับได้ภายในเวลาไม่นานนัก วิธีการนี้เรียกว่า Brute-Force (หาค่าตั้งแต่ a-z และนำไปเปรียบเทียบ จากนั้นก็เป็น aa-zz และต่อไปเรื่อยๆ) นอกเหนือไปจากนี้ยังมีวิธีการที่เ้รียกว่า Hash Collision (การชนกันของ Hash) ตัวอย่างเช่นสมมติค่าต้นฉบับคือ

'Test' ได้ MD5 คือ 098f6bcd4621d373cade4e832627b4f6
สามารถคำนวนหาคำว่า 'Wow' ที่ไ้ด้ค่า 098f6bcd4621d373cade4e832627b4f6 เช่นกัน
(แต่สมมติค่าเท่านั้นครับ)

เมื่อสามารถหาค่าที่ Collision  ได้แบบนี้ การโกงก็ไม่ยากครับ
สมมติว่ามีไฟล์นึงเป็น โปรแกรมกันไวรัส ให้ค่า MD5 มาค่านึง
โจร ก็สามารถทำ ไวรัส ที่ผ่านการคำนวณให้ได้ค่า MD5 เหมือนกันนั้น
ทีนี้เราก็จะไม่รู้เลยว่า ไฟล์ ที่ได้นั้นเป็น โปรแกรมกันไวรัส หรือ ไวรัส กันแน่

การป้องกันก็คือหันไปใช้การเข้ารหัสแบบอื่นที่มีความปลอดภัยกว่า เช่น SHA-1 หรือดีที่สุดคือใช้หลายๆ อันร่วมกันครับ :)

เขียนเมื่อ: 2010-04-21 01:31:04 โดย: t.narika

ความเห็นจากผู้อ่าน


armraul

ถอดรหัสmd5 ทำยังไงครับ

สอนหน่อยได้ไหมมีใครรู้บ้างครับ

« previous 1 next »




เขียน Blog ที่นี่เลย
Blog วันนี้
Kohana lib JSON เอามาฝากครับ (first_member) 9 กุมภาพันธ์ 2012 16:28:02)
วันนี้คิดได้อีก (dejbooter) 9 กุมภาพันธ์ 2012 12:27:44)

Blog ที่มีคน Commnet ล่าสุด (10 รายการ)
วันนี้คิดได้อีก (dejbooter) 9 กุมภาพันธ์ 2012 16:17:53)
จะปล่อยดีมั้ยคร๊าบ (dejbooter) 9 กุมภาพันธ์ 2012 14:33:58)
free banban_car_inout vol 1.0 (java swing) (heemu) 9 กุมภาพันธ์ 2012 14:02:46)
free banban_car_inout vol 1.0 (java swing) (first_member) 9 กุมภาพันธ์ 2012 13:33:18)
free banban_car_inout vol 1.0 (java swing) (p@e) 9 กุมภาพันธ์ 2012 13:17:22)
จะปล่อยดีมั้ยคร๊าบ (first_member) 9 กุมภาพันธ์ 2012 13:03:51)
วันนี้คิดได้อีก (first_member) 9 กุมภาพันธ์ 2012 13:02:52)
จะปล่อยดีมั้ยคร๊าบ (dejbooter) 9 กุมภาพันธ์ 2012 12:33:48)
รู้สึกยังไงกับ iPhone 5 (ts.kritz) 9 กุมภาพันธ์ 2012 11:17:45)
free banban_car_inout vol 1.0 (java swing) (heemu) 9 กุมภาพันธ์ 2012 10:02:12)

CD มาใหม่ล่าสุด
PHP Basic Level 1

ราคา: 180 บาท

Kohana V3 Workshop

ราคา: 250 บาท


CD ทั้งหมด Click




สมาชิกมาใหม่
wadchara srisupun
(สกลนคร)
mk2 king
(กรุงเทพมหานคร)
วรวิทย์ รัตนแสง
(กรุงเทพมหานคร)
jack tawin
(เชียงใหม่)
นพเดช ตุลานนท์
(เชียงใหม่)
ขวัญฤท้ย บุญยิ่งมา
(เชียงใหม่)
PATT THARA
(อุบลราชธานี)


อันดับสุดยอดสมาชิก

VIP Member 15 คนล่าสุด
Digitalhon
aumrin
aungjoe
pundi
oak49147
wet201
izunk
dracker
santi2007
deknakhon
mju4610302
aee9999
mrs22
nittaya.j@
arr_012
หนังสือของเรา : PDF File
การเขียนโปรแกรม JAVA เบื้องต้น
50 บาท จำนวน 139 หน้า
ใช้ Kohana ได้ใน 24 ชั่วโมง
50 บาท จำนวน 111 หน้า
CakePHP ใน 8 วัน
50 บาท จำนวน 123 หน้า
PHP E-Commerce ใน 20 ชั่วโมง
50 บาท จำนวน 103 หน้า
เส้นทางสู่โปรแกรมเมอร์
50 บาท จำนวน 66 หน้า
บันทึกโปรแกรมเมอร์ เล่ม 1
50 บาท จำนวน 130 หน้า

Blog เมื่อวาน และวันก่อน ๆ





เวลาประมวลผล: 0.4461 วินาที
java gui programming ภาษาจาวา java thailand ภาษา java เรียน java การวาง java kohana framework การเขียนโปรแกรมจาวา เชื่อมwekaผ่านเว็บ java cd สอนเขียนเว็บติดต่อฐานข้อมูล การเขียนโปรแกรมปลูกผัก weka web การเขียนjava การทำเว็บด้วย java \"static block\" การทำงาน ระบบล็อกอิน phpเข้าฐานข้อมูล โปรแกรมเขียนจาวา โค้ดโปรแกรม ภาษาจาวา easy java gui programing java html เบื้องต้น การเชื่อมฐานข้อมูลอันไหนง่ายที่สุด cd สอน java web app เบื้องต้น โหลดคลิปวิธีเขียนโปรแกรมจาวา วิดีโอการเขียนโปรแกรมจาวา java ฟรี web java วิดีโอการเขียนโปรแกรมjava การเขียนโปรแกรมจาวาการลบ เขียนโปรแกรม java การเขียนโปรแกรมภาษาจาวา java thailand ภาษา java ภาษาjava เรียน java เรียนเขียนโปรแกรม การเขียนjava เรียน เขียน โปรแกรม การ เขียน โปรแกรม ภาษา java ebook เขียนโปรแกรม บนมือถือด้วย j2me ตัวอย่าง โปรแกรม java java เรียน ไฟฝันวันเยาว์สอนอะไร เขียน จาวา เรียนจาวาฟรี หนังสือ หลักการ oop ฟรี โปรแกรม ทอนเงินโดยใช้ ภาษาจาวา ขอโค้ดจาวา โปรแกรม ทอนเงิน tavon@programmer.in.th เรียน html เบื้องต้น ข้อสอบ เข้างาน programmer php เรียนเองได้มั้ย ใช้ eclipse เขียน gui ลากแปะ เขียนจาวา เขียนเว็บ html ใส่วีดีโอ เขียนโปรแกรมโดยใช้จาวา php sql server เรียนภาษา java การ เขียน java เบื้องต้น jstl java thailand อีบุ๊กเกี่ยวกับโปรแกรมจาวา เรียนเขียนโปรแกรม javathailand เรียน เขียน โปรแกรม สอนเขียนโปรแกรมhtmlฟรี เขียน โปรแกรม สูตร คูณjava ภาษา java เบื้องต้น เริ่มเขียนweb java การเขียนเว็บด้วย php project นักศึกษา php เขียนโปรแกรม java การเขียนโปรแกรมจาวาด้วยeclipse การ เขียน โปรแกรม จาวา ตัวอย่างโปรแกรมจาวา การใช้งานตัวแปร array การเขียนโปรแกรม java โดยใช้ตัวแปร array รู้จักและใช้งาน constructor เขียนเกมส์ด้วยโปรแกรม gui โปรเจค ai e-book ภาษาจาวา โรงเรียนสอนเขียน java php method overloading kohana หนังสือ ตัวอย่างการเขียนโปรแกรมจาวา ่http://www.javathailand.com/ การเขียนโปรแกรมจาวา array java thailand ajax การเขียนโปรแกรมภาษาจาวา วิดีโอสอนเขียนโปรแกรมภาษาจาวา java trainning แจก java java thailand ตัวอย่างโจทย์การเขียนโปรแกรม แบบใช้ if else loop ใน php ภาษา java โค้ดjava การเขียนโปรแกรมร้านขายหนังสือ โปรแกรมที่เขียนด้วยจาวา เรียน java www.java.com การเขียนจาวาแสดงวันที่ เขียน web app ด้วย java recognizer netbean เขียน java เบื้องต้น เรียนเขียนโปรแกรมออนไลน์ ตัวอย่างโปรแกรมเขียนด้วย จาวา เรียนการเขียนโปรแกรมไหนที่นิยมใช้ โปรแกรมทำเว็บ 3.0 เรียนการเขียนโปรแกรม คู่มือการเขียนเว็บ ด้วยภาษาจาวา การเขืยน server game code java ขายสินค้า เขียน โปรแกรม java โค้ดโปรแกรมจาวา netbean 6.8 สอน การใช้ while ซ้อนกัน ในjava โปรเจค การเขียนโปรแกรมจาวา เทคโนโลยีปี 2010 weka การใช้งาน รายชื่อโปรแกรมที่เขียนด้วย java อุปกรณ์การทำโปรแกรมcalculator การใช้ swing ออกแบบหน้าจอ จาวา vcd สอนการเขียนภาษาซี ตัวอย่างโปรแกรม if ด้วยจาวา ฝึกเขียนโค๊ดจาวา วิธีการเขียนเวปเบื้องต้น เขียน โปรแกรม java เบื้องต้น วีดีโอสอนเขียนจาวา เรียน เขียนโปรแกรม ext-js javascript framework เขียน java โจทย์การสร้าง web app โดยใช้ jsp วิธีเขียนjava เรียนพิเศษ โปรแกรม php ตัวอย่างการใช้staticเขียนโปรแกรมจาวา การสร้าง ui j2me; netbeans จับเวลา java servlet การกรอกเลขบัตรประชาชน java สอนjavaเบื้องต้น netbeanติดตั้งเครื่องปริ้น ตัวอย่างแสดงโปรแกรม gui เครื่องคิดเลข มือถือ netbeans ide 6.8 โค้ดภาษาจาวา java เครื่องมือเขียน จาวา แบบเริ่มต้น java เขียนโปรแกรมเชื่อมต่อ database โค้ดจาวา ติดตั้งเครื่องปริ้น เรียนเขียนโปรแกรม การเขียนโปรแกรม ภาษา java เบื้องต้น vdo สอน netbeans java thailand เล่นหนัง java oracle คืออะไร java เบื้องต้น โปรแกรมเขียนเว็ป javathai แปลงค่า ตัวเลขเป็นตัวอักษร c แปลงค่า ตัวเลขเป็นตัวอักษร ลักษณะgui โค้ดโปรแกรมทอยลูกเต๋า สอบ certificate php programmer ที่ไหน netbean tomcat 7 ค่าสอบ sun java certificate เขียนเว็บ php พิกัดดาวเทียม social engineering คืออะไร เขียนโปรแกรมภาษา จาว่า บน mac หนังสือ java มือสอง ทํา windows 7 ให้เป็นของแท้ สอน groovy เรียน java ราคาasus eee pc t101mt netbook eclipse การเชื่อม java กับ mysql ตัวอย่างโค๊ดjava ที่เชื่อมกับ mysql เขียนเว็บ jsp จาวา เขียนเว็บ ด้วย netbeans หนังสือ netbeans