เครื่องคำนวณรหัสแฮช CRC-32
ที่ตีพิมพ์: 17 กุมภาพันธ์ 2025 เวลา 18 นาฬิกา 13 นาที 06 วินาที UTC
เครื่องคํานวณรหัสแฮชที่ใช้ฟังก์ชันแฮช CRC-32 (Cyclic Redundancy Check 32 bit) เพื่อคํานวณรหัสแฮชตามการป้อนข้อความหรือการอัปโหลดไฟล์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 ดั้งเดิม ซึ่งเป็นฟังก์ชันที่คุณควรใช้เพื่อความเข้ากันได้กับระบบอื่นๆ ได้ดีที่สุด
ฉันมีเครื่องคิดเลขสําหรับตัวแปรอื่น ๆ เช่นกัน: