วันนี้เรามาว่ากันด้วยการใช้งาน MD5 กันครับ
MD5 เป็นการ Hashing แบบทางเดียว (One-way Encryption) โดยนิยมนำมาใช้ในการสื่อสารบนอินเตอร์เน็ทอย่างมาก เพื่อใช้ในการสื่อสารที่ต้องการความปลอดภัยสูงกว่าปกติ ซึ่งการเข้ารหัสที่ได้จะได้เป็นตัวอักษร ASCII ขนาด 32 ตัวอักษรตามมาตรฐาน RFC1321 เช่น <? echo md5("apple"); ?> จะได้เป็น
แล้วเท่านี้ยังไม่ปลอดภัยอีกหรือ? ยังไม่ปลอดภัยเพียงพอแน่นอนครับ เพราะว่าการเข้ารหัส MD5 นี้เป็นมาตรฐานซึ่งพวก Cracker ทั้งหลายเขาก็เขียนโปรแกรม MD5 Brute force ขึ้นมาตามมาตรฐานเหมือนกันจึงไม่ใช่เรื่องแปลกที่ข้อความจะถูกถอดรหัสออกมาได้
แล้วทำอย่างไรดีล่ะ มี 2 วิธีหลักๆครับ
MD5 เป็นการ Hashing แบบทางเดียว (One-way Encryption) โดยนิยมนำมาใช้ในการสื่อสารบนอินเตอร์เน็ทอย่างมาก เพื่อใช้ในการสื่อสารที่ต้องการความปลอดภัยสูงกว่าปกติ ซึ่งการเข้ารหัสที่ได้จะได้เป็นตัวอักษร ASCII ขนาด 32 ตัวอักษรตามมาตรฐาน RFC1321 เช่น <? echo md5("apple"); ?> จะได้เป็น
1f3870be274f6c49b3e31a0c6728957f จะเห็นว่าเป็นชุดตัวอักษรที่ไม่สามารถแปรออกมาได้แล้วเท่านี้ยังไม่ปลอดภัยอีกหรือ? ยังไม่ปลอดภัยเพียงพอแน่นอนครับ เพราะว่าการเข้ารหัส MD5 นี้เป็นมาตรฐานซึ่งพวก Cracker ทั้งหลายเขาก็เขียนโปรแกรม MD5 Brute force ขึ้นมาตามมาตรฐานเหมือนกันจึงไม่ใช่เรื่องแปลกที่ข้อความจะถูกถอดรหัสออกมาได้
แล้วทำอย่างไรดีล่ะ มี 2 วิธีหลักๆครับ
- เข้ารหัสด้วย MD5 มากกว่า1ครั้ง เช่น <? echo md5(md5("apple")); ?>
- เข้ารหัสพร้อมด้วย public key เข่น
<?
$key = "modoeye.com";
echo md5("apple".$key);
?>
pung

Fri 15 Dec 2006 12:58:13
Fri 15 Dec 2006 12:58:13
แล้วตอนถอดรหัสใช้คำสั่งอะไรอ่ะคะ
MD5 เป็นการ Hashing แบบทางเดียว
(One-way Encryption)
นั่นหมายถึงไม่มีการถอดรหัสครับ เทคนิคที่ใช้กันนั่นคือ brute-force เป็นการเอาคำที่ generate ออกมาเข้า function MD5 แล้วเปรียบเทียบผลว่าได้ string ตัวเดียวกันหรือไม่ ซึ่งถ้าเป็นรหัสเพียง 4 ตัวอักษร ก็ใช้เวลาประมาณ 3 วันครับ
นั่นหมายถึงไม่มีการถอดรหัสครับ เทคนิคที่ใช้กันนั่นคือ brute-force เป็นการเอาคำที่ generate ออกมาเข้า function MD5 แล้วเปรียบเทียบผลว่าได้ string ตัวเดียวกันหรือไม่ ซึ่งถ้าเป็นรหัสเพียง 4 ตัวอักษร ก็ใช้เวลาประมาณ 3 วันครับ
วรพจน์ ฉายจรุง

Sun 9 Sep 2007 15:32:02
Sun 9 Sep 2007 15:32:02
ช่วยยกตัวอย่างโปรแกรมหรือวิธีการ brute-force ที่ใช้กับ MD5 หน่อยสิครับ
ถ้าจะให้ช่วยส่งทาง e-mail หน่อยนะครับ
webmaster

Sun 9 Sep 2007 22:21:54
Sun 9 Sep 2007 22:21:54
Brute force มันก็เหมือนกันหมดครับ ถ้าต้องการโปรแกรมต้องค้นหาเองครับ เนื่องจากเป็นโปรแกรมที่ไม่เหมาะแก่การแนะนำเพราะสามารถใช้ในทางไม่ดีได้ครับ
oui

Thu 20 Sep 2007 16:52:35
Thu 20 Sep 2007 16:52:35
ทำการเข้ารหัส ใน JSP ใช้ MD5 password ที่เก็บลงในฐานข้อมูลมันเปลี่ยนเป็นตัวที่เข้ารหัสไปเลย พอ login เข้ามาใหม่ต้องใส่ pw เป็นตัวที่เข้ารหัส
จะใช้อะไรเป็นตัวเข้ารหัสที่แก้ไขปัญหานี้ได้
webmaster

Thu 20 Sep 2007 20:43:37
Thu 20 Sep 2007 20:43:37
คุณทำการ MD5 password ได้อะไรก็เอาไปเปรียบเทียบในฐานข้อมูลครับ
x

Wed 21 Nov 2007 10:14:58
Wed 21 Nov 2007 10:14:58
ถ้าต้องการจะถอดรหัสกลับล่ะครับใช้คำสั่งอะไรครับขอบคุณครับ
webmaster

Wed 21 Nov 2007 13:40:44
Wed 21 Nov 2007 13:40:44
การแก้คืนก็มีแต่ใช้ brute force เท่านั้นครับไม่มีวิธีการถอดรหัสโดยตรง ถ้าอยากจะให้ถอดรหัสได้ต้องใช้พวก RC4, AES, ...etc ครับ
check

Tue 27 Nov 2007 07:02:18
Tue 27 Nov 2007 07:02:18
http://www.web-max.ca/tools/encode_decode.php เอ้า...ถอดรหัส ตามสบายเลย ไม่ว่ากัน
chayjarung

Fri 11 Apr 2008 10:26:36
Fri 11 Apr 2008 10:26:36
สุดยอดครับ เว็บไซต์นี้ ถอดรหัสได้จริงๆ และก็ใช้เวลานิดเดียวด้วยครับ
ที่นี้มีใครรู้หลักการ brute force บางครับ ใช้ลักษณะ 1+2+3 = 6 แล้วถ้าต้องการ brute force คือการ เอา 6 มาย้อนกลับโดยวิธีการต่างๆ หรือเปล่าครับ
webmaster

Mon 14 Apr 2008 10:35:50
Mon 14 Apr 2008 10:35:50
ทั้งหมดก็เป็นการ brute force เหมือนกันครับ เพียงแต่ถ้าคำง่ายๆมีใน dictionatry จะโดนถอดได้ง่ายกว่า

















