Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> การเขียนโปรแกรม

Hashing ในความปลอดภัยข้อมูลคืออะไร?

Hashing คืออะไร?

Hashing คือกระบวนการแปลง Key ที่กำหนดให้เป็นรหัส ใช้ Hash Function แทนที่ข้อมูลด้วย Hash Code ใหม่ ที่สร้างโดยอัลกอริทึม ได้ String สั้นกว่าต้นฉบับมาก

Hash Table

สร้าง List เก็บ Key-Value Pair เข้าถึงผ่าน Index ได้ง่าย เป็นวิธีเข้าถึง Key Values ใน Database อย่างมีประสิทธิภาพ และเพิ่มความปลอดภัยผ่านการเข้ารหัส

Hash Values

Output ของ Hashing Algorithm เช่น MD5, SHA สร้าง Unique Fixed-length String (Hash Value / Message Digest) สำหรับข้อมูล/ข้อความใดๆ ไฟล์คอมพิวเตอร์เป็น Binary Hashing Algorithm คำนวณซับซ้อน ได้ Fixed-length String เป็น Hash Value

Avalanche Effect

Hash Value ควรเปลี่ยนแม้แค่ 1 Byte ของไฟล์เปลี่ยน (Avalanche Effect) ให้ประโยชน์ด้าน Data Compression

การใช้งานในความปลอดภัย

  • Authentication Systems: ป้องกันเก็บ Plaintext Passwords
  • ตรวจสอบไฟล์ เอกสาร ข้อมูล
  • Improper Use → Data Breaches, ไม่ใช้เลย → แย่กว่า

โครงสร้างข้อมูล Hashing

Arrays ค้นหาและจัดเก็บได้มีประสิทธิภาพ ตัวอย่าง: ค้นหาหมายเลขใน 20,000 รายการ ใช้ Hashed Key เร็วกว่า Scan ทีละตัว

อัลกอริทึม

แปลง Data Arrays เป็น Fixed-length Bit String ด้วยสูตรคณิตศาสตร์ ใช้ Hashing Table แปลง Input ใดๆ เป็นข้อความสม่ำเสมอ