Miklix

เครื่องคำนวณรหัสแฮช CRC-32B

ที่ตีพิมพ์: 17 กุมภาพันธ์ 2025 เวลา 18 นาฬิกา 31 นาที 06 วินาที UTC
ปรับปรุงล่าสุด : 12 มกราคม 2026 เวลา 9 นาฬิกา 16 นาที 12 วินาที UTC

โปรแกรมคำนวณรหัสแฮชที่ใช้ฟังก์ชันแฮช CRC-32B (Cyclic Redundancy Check 32 bit, B variant) ในการคำนวณรหัสแฮชจากข้อความที่ป้อนหรือไฟล์ที่อัปโหลด

หน้าเพจนี้ได้รับการแปลจากเครื่องคอมพิวเตอร์จากภาษาอังกฤษ เพื่อให้ทุกคนเข้าถึงได้มากที่สุด น่าเสียดายที่การแปลด้วยเครื่องยังไม่ถือเป็นเทคโนโลยีที่สมบูรณ์แบบ จึงอาจเกิดข้อผิดพลาดได้ หากต้องการ คุณสามารถดูเวอร์ชันภาษาอังกฤษต้นฉบับได้ที่นี่:

CRC-32B Hash Code Calculator

การตรวจสอบความซ้ำซ้อนแบบวนรอบ (Cyclic Redundancy Check หรือ CRC) เป็นรหัสตรวจจับข้อผิดพลาดที่ใช้กันทั่วไปในการตรวจจับการเปลี่ยนแปลงโดยไม่ตั้งใจในข้อมูลดิบ แม้ว่า CRC-32 จะไม่ใช่ฟังก์ชันแฮชเข้ารหัสลับโดยตรง แต่ก็มักถูกเรียกว่าแฮชเนื่องจากความสามารถในการสร้างเอาต์พุตขนาดคงที่ (32 บิต) จากอินพุตที่มีความยาวแปรผันได้ เวอร์ชันที่แสดงในหน้านี้คือ CRC-32B ซึ่งเป็นเพียงลักษณะเฉพาะในภาษา PHP ที่สลับบิต (little-endian เทียบกับ big-endian ใน CRC-32 ดั้งเดิม)

การเปิดเผยข้อมูลทั้งหมด: ฉันไม่ได้เขียนรายละเอียดการใช้งานฟังก์ชันแฮชที่ใช้ในหน้านี้โดยเฉพาะ ฟังก์ชันนี้เป็นฟังก์ชันมาตรฐานที่รวมอยู่ในภาษาการเขียนโปรแกรม PHP ฉันสร้างอินเทอร์เฟซเว็บเพื่อให้เผยแพร่ต่อสาธารณะเพื่อความสะดวกเท่านั้น


คำนวณรหัสแฮชใหม่

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

ข้อมูลอินพุต:



ข้อความที่ส่งมามีการเข้ารหัสแบบ UTF-8 เนื่องจากฟังก์ชันแฮชทำงานกับข้อมูลไบนารี ผลลัพธ์จึงอาจแตกต่างไปจากข้อความที่เข้ารหัสแบบอื่น หากคุณต้องการคำนวณแฮชของข้อความในการเข้ารหัสเฉพาะ คุณควรอัปโหลดไฟล์แทน



เกี่ยวกับอัลกอริธึมแฮช CRC-32B

ผมไม่ใช่ผู้เชี่ยวชาญด้านคณิตศาสตร์ แต่ผมจะลองอธิบายฟังก์ชันแฮชนี้ด้วยการเปรียบเทียบง่ายๆ ดูครับ ต่างจากฟังก์ชันแฮชทางด้านการเข้ารหัสลับอื่นๆ ฟังก์ชันนี้ไม่ได้เป็นอัลกอริทึมที่ซับซ้อนมากนัก ดังนั้นน่าจะเข้าใจได้นะครับ ;-)

ลองนึกภาพว่าคุณกำลังส่งจดหมายทางไปรษณีย์ แต่คุณกังวลว่าจดหมายอาจเสียหายก่อนถึงมือผู้รับ คุณจึงคำนวณค่าตรวจสอบ CRC-32 จากเนื้อหาของจดหมายและเขียนค่าตรวจสอบนั้นลงบนซองจดหมาย เมื่อผู้รับได้รับจดหมายแล้ว พวกเขาก็สามารถคำนวณค่าตรวจสอบนั้นและดูว่าตรงกับสิ่งที่คุณเขียนหรือไม่ ถ้าตรงกัน แสดงว่าจดหมายไม่เสียหายหรือถูกเปลี่ยนแปลงระหว่างทาง

วิธีการที่ CRC-32 ใช้ในการดำเนินการนี้เป็นกระบวนการสี่ขั้นตอน:

ขั้นตอนที่ 1: เพิ่มพื้นที่ว่าง (ระยะเผื่อ)

  • CRC จะเพิ่มพื้นที่ว่างเล็กน้อยที่ส่วนท้ายของข้อความ (เหมือนกับการใส่เม็ดโฟมกันกระแทกในกล่อง)
  • วิธีนี้ช่วยให้ตรวจจับข้อผิดพลาดได้ง่ายขึ้น

ขั้นตอนที่ 2: ไม้บรรทัดวิเศษ (พหุนาม)

  • CRC-32 ใช้ "ไม้บรรทัดวิเศษ" พิเศษในการวัดข้อมูล ลองนึกภาพไม้บรรทัดนี้เหมือนกับรูปแบบของปุ่มและร่อง (นี่คือพหุนาม แต่ไม่ต้องกังวลกับคำนั้น) "ไม้บรรทัด" ที่ใช้กันทั่วไปสำหรับ CRC-32 คือรูปแบบคงที่

ขั้นตอนที่ 3: การเลื่อนไม้บรรทัด (กระบวนการหาร)

  • ตอนนี้ CRC จะเลื่อนไม้บรรทัดไปตามข้อความ ในแต่ละจุด มันจะตรวจสอบว่าส่วนนูนและร่องตรงกันหรือไม่ ถ้าไม่ตรงกัน CRC จะจดบันทึก (โดยใช้การดำเนินการ XOR อย่างง่าย เหมือนกับการเปิดหรือปิดสวิตช์) มันจะเลื่อนและเปิดปิดสวิตช์ไปเรื่อยๆ จนกว่าจะถึงจุดสิ้นสุด

ขั้นตอนที่ 4: ผลลัพธ์สุดท้าย (ค่าตรวจสอบความถูกต้อง)

  • หลังจากเลื่อนไม้บรรทัดไปตามข้อความทั้งหมด คุณจะได้ตัวเลขขนาดเล็ก (ยาว 32 บิต) ที่แสดงถึงข้อมูลดั้งเดิม ตัวเลขนี้เปรียบเสมือนลายนิ้วมือที่ไม่ซ้ำกันของข้อความ นี่คือค่าตรวจสอบ CRC-32

เวอร์ชันที่แสดงบนหน้าเว็บคือ CRC-32B ซึ่งส่วนใหญ่เป็นลูกเล่นของ PHP ที่สลับลำดับบิต (little-endian กับ big-endian) คุณควรใช้เวอร์ชันนี้ก็ต่อเมื่อคุณต้องการความเข้ากันได้กับแอปพลิเคชัน PHP อื่นที่ใช้เวอร์ชันนี้เท่านั้น

ฉันมีเครื่องคิดเลขสำหรับรูปแบบอื่นๆ ด้วยเช่นกัน:

  • ลิงก์
  • ลิงก์

อ่านเพิ่มเติม

หากคุณชอบโพสต์นี้ คุณอาจชอบคำแนะนำเหล่านี้ด้วย:


แชร์บนบลูสกายแชร์บนเฟสบุ๊คแชร์บน LinkedInแชร์บน Tumblrแชร์บน Xแชร์บน LinkedInปักหมุดบน Pinterest

มิคเคล คริสเตนเซ่น

เกี่ยวกับผู้เขียน

มิคเคล คริสเตนเซ่น
ไมเคิล คือผู้สร้างและเจ้าของเว็บไซต์ miklix.com เขามีประสบการณ์เป็นโปรแกรมเมอร์/นักพัฒนาซอฟต์แวร์คอมพิวเตอร์มืออาชีพมากว่า 20 ปี และปัจจุบันทำงานเต็มเวลาให้กับบริษัทไอทีขนาดใหญ่แห่งหนึ่งในยุโรป เมื่อไม่ได้เขียนบล็อก เขาจะใช้เวลาว่างไปกับความสนใจ งานอดิเรก และกิจกรรมต่างๆ มากมาย ซึ่งในระดับหนึ่งอาจสะท้อนให้เห็นได้จากหัวข้อต่างๆ มากมายที่กล่าวถึงในเว็บไซต์นี้