เครื่องคำนวณรหัสแฮช CRC-32
ที่ตีพิมพ์: 17 กุมภาพันธ์ 2025 เวลา 18 นาฬิกา 13 นาที 06 วินาที UTC
ปรับปรุงล่าสุด : 12 มกราคม 2026 เวลา 9 นาฬิกา 15 นาที 01 วินาที UTC
CRC-32 Hash Code Calculator
การตรวจสอบความซ้ำซ้อนแบบวนรอบ (Cyclic Redundancy Check หรือ CRC) เป็นรหัสตรวจจับข้อผิดพลาดที่ใช้กันทั่วไปในการตรวจจับการเปลี่ยนแปลงโดยไม่ตั้งใจในข้อมูลดิบ แม้ว่าในทางเทคนิคแล้วจะไม่ใช่ฟังก์ชันแฮชทางคริปโตกราฟี แต่ CRC-32 มักถูกเรียกว่าแฮชเนื่องจากความสามารถในการสร้างเอาต์พุตขนาดคงที่ (32 บิต) จากอินพุตที่มีความยาวแปรผันได้
การเปิดเผยข้อมูลทั้งหมด: ฉันไม่ได้เขียนรายละเอียดการใช้งานฟังก์ชันแฮชที่ใช้ในหน้านี้โดยเฉพาะ ฟังก์ชันนี้เป็นฟังก์ชันมาตรฐานที่รวมอยู่ในภาษาการเขียนโปรแกรม PHP ฉันสร้างอินเทอร์เฟซเว็บเพื่อให้เผยแพร่ต่อสาธารณะเพื่อความสะดวกเท่านั้น
เกี่ยวกับอัลกอริธึมแฮช CRC-32
ผมไม่ใช่ผู้เชี่ยวชาญด้านคณิตศาสตร์ แต่ผมจะลองอธิบายฟังก์ชันแฮชนี้ด้วยการเปรียบเทียบง่ายๆ ดูครับ ต่างจากฟังก์ชันแฮชทางด้านการเข้ารหัสลับอื่นๆ ฟังก์ชันนี้ไม่ได้เป็นอัลกอริทึมที่ซับซ้อนมากนัก ดังนั้นน่าจะเข้าใจได้นะครับ ;-)
ลองนึกภาพว่าคุณกำลังส่งจดหมายทางไปรษณีย์ แต่คุณกังวลว่าจดหมายอาจเสียหายก่อนถึงมือผู้รับ คุณจึงคำนวณค่าตรวจสอบ CRC-32 จากเนื้อหาของจดหมายและเขียนค่าตรวจสอบนั้นลงบนซองจดหมาย เมื่อผู้รับได้รับจดหมายแล้ว พวกเขาก็สามารถคำนวณค่าตรวจสอบนั้นและดูว่าตรงกับสิ่งที่คุณเขียนหรือไม่ ถ้าตรงกัน แสดงว่าจดหมายไม่เสียหายหรือถูกเปลี่ยนแปลงระหว่างทาง
วิธีการที่ CRC-32 ใช้ในการดำเนินการนี้เป็นกระบวนการสี่ขั้นตอน:
ขั้นตอนที่ 1: เพิ่มพื้นที่ว่าง (ระยะเผื่อ)
- CRC จะเพิ่มพื้นที่ว่างเล็กน้อยที่ส่วนท้ายของข้อความ (เหมือนกับการใส่เม็ดโฟมกันกระแทกในกล่อง)
- วิธีนี้ช่วยให้ตรวจจับข้อผิดพลาดได้ง่ายขึ้น
ขั้นตอนที่ 2: ไม้บรรทัดวิเศษ (พหุนาม)
- CRC-32 ใช้ "ไม้บรรทัดวิเศษ" พิเศษในการวัดข้อมูล ลองนึกภาพไม้บรรทัดนี้เหมือนกับรูปแบบของปุ่มและร่อง (นี่คือพหุนาม แต่ไม่ต้องกังวลกับคำนั้น) "ไม้บรรทัด" ที่ใช้กันทั่วไปสำหรับ CRC-32 คือรูปแบบคงที่
ขั้นตอนที่ 3: การเลื่อนไม้บรรทัด (กระบวนการหาร)
- ตอนนี้ CRC จะเลื่อนไม้บรรทัดไปตามข้อความ ในแต่ละจุด มันจะตรวจสอบว่าส่วนนูนและร่องตรงกันหรือไม่ ถ้าไม่ตรงกัน CRC จะจดบันทึก (โดยใช้การดำเนินการ XOR อย่างง่าย เหมือนกับการเปิดหรือปิดสวิตช์) มันจะเลื่อนและเปิดปิดสวิตช์ไปเรื่อยๆ จนกว่าจะถึงจุดสิ้นสุด
ขั้นตอนที่ 4: ผลลัพธ์สุดท้าย (ค่าตรวจสอบความถูกต้อง)
- หลังจากเลื่อนไม้บรรทัดไปตามข้อความทั้งหมด คุณจะได้ตัวเลขขนาดเล็ก (ยาว 32 บิต) ที่แสดงถึงข้อมูลดั้งเดิม ตัวเลขนี้เปรียบเสมือนลายนิ้วมือที่ไม่ซ้ำกันของข้อความ นี่คือค่าตรวจสอบ CRC-32
เวอร์ชันที่แสดงในหน้านี้คือฟังก์ชัน CRC-32 ดั้งเดิม ซึ่งเป็นเวอร์ชันที่คุณควรใช้เพื่อให้เข้ากันได้ดีที่สุดกับระบบอื่นๆ
ฉันมีเครื่องคิดเลขสำหรับรูปแบบอื่นๆ ด้วยเช่นกัน:
- ลิงก์
- ลิงก์
อ่านเพิ่มเติม
หากคุณชอบโพสต์นี้ คุณอาจชอบคำแนะนำเหล่านี้ด้วย:
