ภาพ: อัลกอริทึมแฮช 32 บิต FNV-1 – ภาพรวม
ที่ตีพิมพ์: 12 มกราคม 2026 เวลา 13 นาฬิกา 29 นาที 27 วินาที UTC
ปรับปรุงล่าสุด : 9 มกราคม 2026 เวลา 21 นาฬิกา 41 นาที 23 วินาที UTC
แผนผังแสดงขั้นตอนการทำงานที่ชัดเจนของอัลกอริธึมแฮช FNV-1 32 บิต ตั้งแต่ไบต์อินพุตจนถึงผลลัพธ์แฮชสุดท้าย
FNV-1 32-Bit Hash Algorithm – Visual Overview

เวอร์ชันต่างๆ ของภาพนี้
ไฟล์ภาพที่สามารถดาวน์โหลดได้ด้านล่างนี้ มีการบีบอัดน้อยกว่าและมีความละเอียดสูงกว่า ส่งผลให้มีคุณภาพสูงกว่าภาพที่ฝังอยู่ในบทความและหน้าเว็บต่างๆ บนเว็บไซต์นี้ ซึ่งได้รับการปรับขนาดไฟล์ให้เหมาะสมเพื่อลดการใช้แบนด์วิดท์
ขนาดปกติ (1,536 x 1,024)
ขนาดใหญ่ (3,072 x 2,048)
ขนาดใหญ่มาก (4,608 x 3,072)
ขนาดใหญ่พิเศษ (6,144 x 4,096)
ขนาดใหญ่เกินจริงอย่างน่าขัน (1,048,576 x 699,051)
- กำลังอัปโหลดอยู่... ;-)
คำอธิบายภาพ
ภาพนี้เป็นอินโฟกราฟิกแนวนอนขนาดกว้าง ชื่อเรื่องว่า "อัลกอริทึมแฮช 32 บิต FNV-1" แสดงด้วยตัวอักษรขนาดใหญ่สีเข้มอยู่ด้านบน รูปแบบโดยรวมดูสะอาดตา เรียบง่าย และเน้นการสอน โดยใช้รูปสี่เหลี่ยมผืนผ้าโค้งมน วงกลม และลูกศรเพื่อนำทางผู้ดูจากซ้ายไปขวา พื้นหลังเป็นสีขาว ทำให้แผนภาพดูเบาและไม่รก เหมาะสำหรับการสอน
ทางด้านซ้ายสุดคือสี่เหลี่ยมผืนผ้าสีน้ำเงินที่มีมุมโค้งมน มีป้ายกำกับว่า "ข้อมูลป้อนเข้า" ใต้กล่องนี้เป็นแถวแนวนอนขนาดเล็กที่มีบล็อกหลากสีแทนไบต์ข้อมูลแต่ละไบต์ ลูกศรสั้นๆ ชี้จากกล่องข้อมูลป้อนเข้าไปยังกึ่งกลางของแผนภาพ แสดงจุดเริ่มต้นของกระบวนการแฮช
ถัดไปเป็นสี่เหลี่ยมผืนผ้าโค้งมนสีเหลืองที่มีป้ายกำกับว่า "Offset Basis" พร้อมคำบรรยายเล็กๆ ด้านล่างว่า "32-Bit Value" ช่องนี้แสดงถึงสถานะภายในเริ่มต้นที่อัลกอริทึมใช้ก่อนที่จะประมวลผลไบต์อินพุตใดๆ ลูกศรจากข้อมูลอินพุตชี้เข้าไปในช่อง Offset Basis นี้ แสดงว่าอัลกอริทึมเริ่มต้นด้วยค่าเริ่มต้นที่กำหนดไว้ล่วงหน้านี้
จากฐานออฟเซ็ต กระแสข้อมูลจะไหลต่อไปยังโหนดวงกลมสีส้มที่มีป้ายกำกับว่า "XOR" ไอคอนไบต์สีเล็กๆ สองอันจะอยู่ด้านล่างวงกลมนี้ โดยมีคำอธิบายว่า "ไบต์อินพุต" ซึ่งเน้นย้ำว่าแต่ละไบต์จากข้อมูลดั้งเดิมจะถูกรวมเข้ากับสถานะแฮชปัจจุบันโดยใช้การดำเนินการ XOR แบบบิต การแสดงภาพบ่งบอกว่าขั้นตอน XOR นี้จะถูกทำซ้ำสำหรับทุกไบต์
หลังจากขั้นตอน XOR ลูกศรจะชี้ไปยังโหนดวงกลมสีน้ำเงินที่มีสัญลักษณ์การคูณกำกับอยู่ ซึ่งมีป้ายกำกับเชิงแนวคิดว่า "คูณด้วยจำนวนเฉพาะ FNV" อยู่เหนือโฟลว์ สิ่งนี้สื่อให้เห็นว่าอัลกอริทึมจะคูณค่ากลางด้วยจำนวนเฉพาะคงที่เพื่อผสมบิตเพิ่มเติมและกระจายการเปลี่ยนแปลงไปทั่วแฮช
ทางด้านขวาของวงกลมการคูณจะมีสี่เหลี่ยมผืนผ้าสีเขียวที่มีมุมโค้งมนและมีป้ายกำกับว่า "ผลลัพธ์แฮช 32 บิต" ซึ่งแสดงถึงค่าแฮชที่เปลี่ยนแปลงไปหลังจากประมวลผลไบต์หนึ่งไบต์ขึ้นไป และในที่สุดก็คือค่าแฮช 32 บิตสุดท้ายที่ได้จากอัลกอริทึมเมื่อข้อมูลอินพุตทั้งหมดถูกประมวลผลแล้ว
เหนือแถวหลักของกล่องและวงกลม มีเส้นแนวนอนบางๆ พร้อมลูกศรเล็กๆ ชี้ลง ซึ่งมีข้อความต่างๆ เช่น "เริ่มต้นด้วยค่าออฟเซ็ต" "XOR กับไบต์" "คูณด้วยจำนวนเฉพาะ FNV" และ "ค่าแฮช 32 บิต" คำบรรยายเหล่านี้ทำหน้าที่เป็นคำแนะนำทีละขั้นตอน สรุปขั้นตอนของอัลกอริทึมด้วยภาษาที่เข้าใจง่าย
ด้านล่างของแผนภาพ มีลูกศรยาวลากจากซ้ายไปขวา พร้อมข้อความว่า "ทำซ้ำสำหรับข้อมูลแต่ละไบต์" ซึ่งอธิบายให้ชัดเจนว่าขั้นตอน XOR และการคูณนั้นเป็นลูปที่ใช้กับทุกไบต์ในลำดับข้อมูลขาเข้า ไม่ใช่แค่การดำเนินการเพียงครั้งเดียว
โดยรวมแล้ว แผนภาพนี้หลีกเลี่ยงการใช้ค่าคงที่ตัวเลขที่เฉพาะเจาะจง และเน้นไปที่กระบวนการทำงานเชิงแนวคิดแทน กล่าวคือ ไบต์อินพุตเข้าสู่กระบวนการ สถานะภายในจะถูกเริ่มต้น ไบต์แต่ละตัวจะถูก XOR กับค่าปัจจุบัน ผลลัพธ์จะถูกคูณ และวงจรจะวนซ้ำจนกว่าจะได้ค่าแฮช 32 บิตสุดท้าย การใช้สีที่แตกต่างกันสำหรับแต่ละขั้นตอนทำให้เข้าใจอัลกอริธึมได้ง่ายแม้สำหรับผู้เริ่มต้น
รูปภาพนี้เกี่ยวข้องกับ: เครื่องคำนวณแฮชโค้ด Fowler-Noll-Vo FNV1-32
