พบกับบทความเกี่ยวกับคอมพิวเตอร์และ programming ได้ที่ http://articles.modoeye.com | บล็อกอาหาร
PHP Articles / เทคนิคการใช้งาน MD5 เพื่อเข้ารหัสข้อมูล
Administrator
Mon 14 Nov 2005 19:49:00
วันนี้เรามาว่ากันด้วยการใช้งาน MD5 กันครับ

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

แล้วเท่านี้ยังไม่ปลอดภัยอีกหรือ? ยังไม่ปลอดภัยเพียงพอแน่นอนครับ เพราะว่าการเข้ารหัส MD5 นี้เป็นมาตรฐานซึ่งพวก Cracker ทั้งหลายเขาก็เขียนโปรแกรม MD5 Brute force ขึ้นมาตามมาตรฐานเหมือนกันจึงไม่ใช่เรื่องแปลกที่ข้อความจะถูกถอดรหัสออกมาได้

แล้วทำอย่างไรดีล่ะ มี 2 วิธีหลักๆครับ
  1. เข้ารหัสด้วย MD5 มากกว่า1ครั้ง เช่น <? echo md5(md5("apple")); ?>
  2. เข้ารหัสพร้อมด้วย public key เข่น
    <?
    $key = "modoeye.com";
    echo md5("apple".$key);
    ?>
ทั้ง 2 วิธีจะทำให้การถอดรหัสทำได้ยากมากขึ้นครับ ลองเอาไปประยุกต์ใช้ดูนะครับ
pung
pung
Fri 15 Dec 2006 12:58:13

แล้วตอนถอดรหัสใช้คำสั่งอะไรอ่ะคะ

Administrator
Fri 15 Dec 2006 16:17:53
MD5 เป็นการ Hashing แบบทางเดียว (One-way Encryption)

นั่นหมายถึงไม่มีการถอดรหัสครับ เทคนิคที่ใช้กันนั่นคือ brute-force เป็นการเอาคำที่ generate ออกมาเข้า function MD5 แล้วเปรียบเทียบผลว่าได้ string ตัวเดียวกันหรือไม่ ซึ่งถ้าเป็นรหัสเพียง 4 ตัวอักษร ก็ใช้เวลาประมาณ 3 วันครับ
วรพจน์ ฉายจรุง
วรพจน์ ฉายจรุง
Sun 9 Sep 2007 15:32:02
ช่วยยกตัวอย่างโปรแกรมหรือวิธีการ brute-force ที่ใช้กับ MD5 หน่อยสิครับ
ถ้าจะให้ช่วยส่งทาง e-mail หน่อยนะครับ
webmaster
webmaster
Sun 9 Sep 2007 22:21:54
Brute force มันก็เหมือนกันหมดครับ ถ้าต้องการโปรแกรมต้องค้นหาเองครับ เนื่องจากเป็นโปรแกรมที่ไม่เหมาะแก่การแนะนำเพราะสามารถใช้ในทางไม่ดีได้ครับ
oui
oui
Thu 20 Sep 2007 16:52:35

ทำการเข้ารหัส ใน JSP ใช้ MD5 password ที่เก็บลงในฐานข้อมูลมันเปลี่ยนเป็นตัวที่เข้ารหัสไปเลย พอ login เข้ามาใหม่ต้องใส่ pw เป็นตัวที่เข้ารหัส

จะใช้อะไรเป็นตัวเข้ารหัสที่แก้ไขปัญหานี้ได้

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

ถ้าต้องการจะถอดรหัสกลับล่ะครับใช้คำสั่งอะไรครับขอบคุณครับ

webmaster
webmaster
Wed 21 Nov 2007 13:40:44
การแก้คืนก็มีแต่ใช้ brute force เท่านั้นครับไม่มีวิธีการถอดรหัสโดยตรง ถ้าอยากจะให้ถอดรหัสได้ต้องใช้พวก RC4, AES, ...etc ครับ
check
check
Tue 27 Nov 2007 07:02:18
http://www.web-max.ca/tools/encode_decode.php  เอ้า...ถอดรหัส ตามสบายเลย ไม่ว่ากัน
chayjarung
chayjarung
Fri 11 Apr 2008 10:26:36
สุดยอดครับ เว็บไซต์นี้ ถอดรหัสได้จริงๆ และก็ใช้เวลานิดเดียวด้วยครับ
ที่นี้มีใครรู้หลักการ brute force  บางครับ ใช้ลักษณะ 1+2+3 = 6 แล้วถ้าต้องการ brute force  คือการ เอา 6 มาย้อนกลับโดยวิธีการต่างๆ หรือเปล่าครับ
webmaster
webmaster
Mon 14 Apr 2008 10:35:50
ทั้งหมดก็เป็นการ brute force เหมือนกันครับ เพียงแต่ถ้าคำง่ายๆมีใน dictionatry จะโดนถอดได้ง่ายกว่า
Reply
Name:
E-mail:
Home | Services | Forum | Classified | Directories | Support | Contact
ATOM feed RSS 0.9 feed RSS 1.0 feed RSS 2.0 feed
Copyright © 2005 - 2007 Modoeye.com, All Rights Reserved.
Disclaimer | Privacy policy | Term of Use | Term of Services
Valid XHTML Valid CSS! PHP: Hypertext Preprocessor MySQL database Apache Powered! FreeBSD Power to serve
Modoeye Sitemap Client login