ให้เรตสมาชิก: 5 / 5

ดาวใช้งานดาวใช้งานดาวใช้งานดาวใช้งานดาวใช้งาน
 

ฟังก์ชันแฮช เป็นฟังก์ชันที่มีบทบาทอย่างมากในการสร้างระบบความปลอดภัยเนื่องจากสามารถแปลงข้อมูลปกติที่กำหนดให้เป็นค่าความยาวคงที่ผิดปกติและอ่านก็ไม่มีทางเข้าใจเลย เราสามารถจินตนาการได้ว่าเป็นเครื่องปั่นในบ้านของเรานั้น  
เมื่อเราใส่ข้อมูลลงในฟังก์ชั่นนี้มันจะส่งออกค่าที่ไม่ปกติหรือไร้ความหมาย ค่าเหล่านี้เรียกว่า"ค่าแฮช(Hash Value)"  ค่าแฮชเป็นเพียงตัวเลข แต่มักเขียนเป็นเลขฐานสิบหก คอมพิวเตอร์จัดการค่าเป็นแบบไบนารี ค่าแฮชยังเป็นข้อมูลและมักถูกจัดการใน binary Hash function

ตัวอย่าง Hash function

 

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

คุณสมบัติของฟังก์ชันแฮช (Hash function)

  1. ข้อมูลแต่ละตัวเมื่อผ่านฟังก์ชันแฮชแล้วจะต้องมีค่าไม่เท่ากัน มีลักษณะที่จำเพาะแต่ล่ะข้อมูล
  2. หาค่าแฮชจากข้อมูลควรทำได้ง่ายและรวดเร็ว
  3. เมื่อข้อมูลผ่านฟังก์ชันแฮชแล้วไม่ควรทำย้อนกลับได้
  4. การบวนการแฮชควรมีการกระจายตัวสูง ข้อมูลใดๆที่ผ่านฟังก์ชันแฮชควรมีขนาดเท่ากัน แต่ไม่เหมือนกัน

ทำไมต้องมีฟังก์ชันแฮช?

  1. เพื่อใช้ตรวจสอบว่าข้อมูลมีการเปลี่ยนแปลงหรือไม่
  2. เพื่อใช้เก็บข้อมูลสำหรับเปรียบเทียบ โดยการเปรียบเทียบข้อมูลจะทำได้รวดเร็วขึ้น
  3. ทำให้เป็นภาษาที่มนุษย์อ่านไม่เข้าใจ
  4. หากข้อมูลที่จะใช้เปรียบเทียบมีขนาดใหญ่มาก จะช่วยย่อข้อมูลให้เล็กลงได้มาก แต่ขึ้นอยู่กับวิธีของฟังก์ชันแฮช

ชนิดของฟังก์ชันแฮช

  1. MD2 (128bits) คิดค้นโดย Ronald Rivests
  2. MD4 (128bits) คิดค้นโดย Ronald Rivests
  3. MD5 (128bits) คิดค้นโดย Ronald Rivests
  4. MD6 (0~512 bits) คิดค้นโดย Ronald Rivests Team
  5. SHA0 (160bits) คิดค้นโดย National Security Agency : NSA
  6. SHA1 (160bits) คิดค้นโดย National Security Agency : NSA
  7. SHA2 (SHA-224, SHA-256, SHA-384, SHA-512) คิดค้นโดย National Security Agency : NSA

 การแปลงรหัสแฮชให้เป็นค่าดั้งเดิมนั้นแถบจะเป็นไปไม่ได้ นี่คือความแตกต่างหลักระหว่างการเข้ารหัสเป็นฟังก์ชันแฮช ใน PHPมักใช้ฟังก์ชันแฮ็ชกับรหัสผ่าน เพื่อป้องกันไม่ให้คนอื่นอ่านออก แม้แต่ Admin เองก็ไม่สามารถรู้ได้

ช่องทางการศึกษาเพิ่มเติมข่าวที่น่าสนใจเกี่ยวกับ : PHP - Security

กระทู้ล่าสุดจากเว็บบอร์ด
หัวข้อกระทู้
ตอบ
เปิดดู
ล่าสุด
แจ้งเตือนชำระเงิน บน browser ด้วย Plugin System MZC Notify ใน MooZiiCart
โดย bolue พ 28 ต.ค. 2020 6:37 pm บอร์ด MindPHP News & Feedback
0
5
พ 28 ต.ค. 2020 6:37 pm โดย bolue
จัดการเว็บไซต์ที่มีหลายร้านค้าง่ายๆ ด้วย Plugin System MZC Multi Shop ใน MooZiiCart
โดย bolue พ 28 ต.ค. 2020 6:27 pm บอร์ด MindPHP News & Feedback
0
4
พ 28 ต.ค. 2020 6:27 pm โดย bolue
ลบส่วนส่วนเกินในรูปภาพ โดย Photoshop cc
โดย Bellamy พ 28 ต.ค. 2020 5:49 pm บอร์ด Graphic design
0
5
พ 28 ต.ค. 2020 5:49 pm โดย Bellamy
สอนการ บวก ลบ คูณ หาร ง่ายๆ ผ่านการใช้ Excel ออนไลน์
โดย Bellamy อ 27 ต.ค. 2020 7:38 pm บอร์ด Microsoft Office Knowledge & line & Etc
0
14
อ 27 ต.ค. 2020 7:38 pm โดย Bellamy
การสไลด์โชว์สินค้าได้หลายรูปแบบ ด้วย Module MZC Slider ii ใน MooZiiCart
โดย bolue อ 27 ต.ค. 2020 5:58 pm บอร์ด MindPHP News & Feedback
0
22
อ 27 ต.ค. 2020 5:58 pm โดย bolue
การแก้ไขข้อความ หรือเพิ่มรายละเอียดข้อความ แบบตรวจสอบได้ ผ่านทาง word online
โดย Bellamy อ 27 ต.ค. 2020 5:28 pm บอร์ด Microsoft Office Knowledge & line & Etc
0
19
อ 27 ต.ค. 2020 5:28 pm โดย Bellamy
ขั้นตอนทำงาน System Analyst and Design
โดย Bellamy จ 26 ต.ค. 2020 6:51 pm บอร์ด Microsoft Office Knowledge & line & Etc
0
40
จ 26 ต.ค. 2020 6:51 pm โดย Bellamy
แนะนำแหล่งท่องเที่ยวและการเดินทางในกทม
โดย Bellamy จ 26 ต.ค. 2020 4:53 pm บอร์ด พูดคุยเรื่องทั่วไป จับฉ่าย
2
29
จ 26 ต.ค. 2020 6:50 pm โดย Bellamy
Content Marketing คือ - ในปัจจุบันสำคัญอย่างไร?
โดย ploypola จ 26 ต.ค. 2020 12:07 pm บอร์ด พูดคุยเรื่องทั่วไป จับฉ่าย
0
20
จ 26 ต.ค. 2020 12:07 pm โดย ploypola
วิธีการ Insert , edit ,delete โดยผ่านตัว Model Laravel Framework
โดย makup ส 24 ต.ค. 2020 3:44 pm บอร์ด PHP Knowledge
1
35
ส 24 ต.ค. 2020 3:59 pm โดย makup
ติดปัญหาการค้นหาข้อมูล Listbox ให้เลือกค่าเก่าค้างไว้
โดย makup พฤ 22 ต.ค. 2020 8:05 pm บอร์ด Programming - PHP
13
155
พ 28 ต.ค. 2020 8:02 pm โดย mindphp
อยากทราบว่า ตรงที่แสดงข้อมูล URL จะให้แสดงเฉพาะ id แค่ตัวเลข ต้องทำอย่างไงครับ
โดย makup พฤ 22 ต.ค. 2020 8:05 pm บอร์ด Programming - PHP
3
44
พฤ 22 ต.ค. 2020 8:16 pm โดย mindphp
วิธีการ Upload file ภาพ ขึ้น Server
โดย makup พฤ 22 ต.ค. 2020 5:41 pm บอร์ด PHP Knowledge
1
56
พฤ 22 ต.ค. 2020 5:54 pm โดย makup
ปัญหา phpBB Error ในหน้า admin vsprintf(): Too few arguments
โดย mindphp พ 21 ต.ค. 2020 5:36 pm บอร์ด ปัญหาการใช้ phpBB3, SMF, Joomla, Wordpress, CMS, CRM
0
41
พ 21 ต.ค. 2020 5:36 pm โดย mindphp
สอนเขียนวิธี Upload File Laravel ขึ้น Server
โดย makup พ 21 ต.ค. 2020 3:41 pm บอร์ด PHP Knowledge
2
72
พ 21 ต.ค. 2020 5:25 pm โดย makup
สอบถาม การขึ้นบรรทัดใหม่ ด้วย การนับ len และตัดแบบเต็มคำยังไงคะ
โดย bolue อ 20 ต.ค. 2020 7:22 pm บอร์ด Programming - C/C++ & java & Python
2
64
อ 20 ต.ค. 2020 8:15 pm โดย mindphp
วิธีการทำระบบค้นหา ใน Laravel Framework
โดย makup อ 20 ต.ค. 2020 12:57 pm บอร์ด PHP Knowledge
0
96
อ 20 ต.ค. 2020 12:57 pm โดย makup
เจอปัญหา Publishing failed. You are probably offline. ปัญหาใน Wordpress 5.x
โดย mindphp อ 20 ต.ค. 2020 6:03 am บอร์ด ปัญหาการใช้ phpBB3, SMF, Joomla, Wordpress, CMS, CRM
1
85
อ 20 ต.ค. 2020 6:30 am โดย mindphp
แสดงสินค้าที่ขายได้ล่าสุด ด้วย Module Latest Sold Products ใน MooZiiCart
โดย bolue จ 19 ต.ค. 2020 6:53 pm บอร์ด MindPHP News & Feedback
1
192
จ 26 ต.ค. 2020 7:38 pm โดย prmindphp
ติดปัญหาเรื่อง การทำปุ่ม ค้นหา ที่มีการเชื่อมความสัมพันธ์ Laravel Framework
โดย makup จ 19 ต.ค. 2020 6:23 pm บอร์ด Programming - PHP
3
222
อ 20 ต.ค. 2020 1:32 pm โดย mindphp