เครื่องคำนวณ CRC
checksum แบบ CRC-8, CRC-16 และ CRC-32 ของข้อความหรือไบต์ hex พร้อมพรีเซ็ตที่ใช้บ่อยและพหุนามกำหนดเอง
กำลังโหลดเครื่องมือ…
คำนวณ CRC ของข้อความ ไบต์ฐานสิบหก หรือไฟล์ ด้วยอัลกอริทึม CRC-8, CRC-16 และ CRC-32 ที่มีชื่อ 34 แบบ หรือพารามิเตอร์ที่กำหนดเอง เช่น ใช้ตรวจเฟรม Modbus หรือหาว่าอุปกรณ์ใช้ CRC แบบไหน
วิธีใช้
- เลือก "ข้อความ", "ไบต์ฐานสิบหก" หรือ "ไฟล์" แล้วป้อนข้อมูล
- เลือก "อัลกอริทึม" เช่น CRC-16/MODBUS ค่า CRC จะแสดงเป็นฐานสิบหก ฐานสิบ และฐานสอง
- "ไบต์ที่ต่อท้ายเฟรม" แสดงลำดับการส่งไบต์ของ CRC
- หากต้องการระบุ CRC ที่ไม่ทราบชนิด ให้พิมพ์ค่าที่คาดไว้ใน "ค้นหาค่า CRC"
- สำหรับอัลกอริทึมที่ไม่มีในรายการ ให้เปิด "พารามิเตอร์" แล้วตั้งความกว้าง พหุนาม ค่าเริ่มต้น การกลับบิต และ XOR สุดท้าย
หลักการทำงาน
- ค่าตั้งล่วงหน้าและค่าตรวจสอบเป็นไปตาม RevEng Catalogue of parametrised CRC algorithms ค่าตั้งล่วงหน้าแต่ละแบบได้รับการทดสอบกับค่าตรวจสอบของตัวเอง ซึ่งคือ CRC ของข้อความ ASCII 123456789
- อัลกอริทึมแบบกลับบิต เช่น MODBUS มักส่งไบต์ต่ำก่อน ส่วนแบบอื่นส่งไบต์สูงก่อน
- ไฟล์จะถูกอ่านในอุปกรณ์นี้และไม่ถูกอัปโหลด มีการแสดง Sum, XOR, LRC, Fletcher-16 และ Adler-32 ด้วย
คำถามที่พบบ่อย
- CRC-16 Modbus ของ 01 03 00 00 00 0A คือเท่าไร
- คือ 0xCDC5 Modbus RTU ต่อท้ายด้วยไบต์ต่ำก่อน เฟรมจึงลงท้ายด้วย C5 CD
- CRC-16/CCITT-FALSE, XMODEM และ KERMIT ต่างกันอย่างไร
- ทั้งหมดใช้พหุนาม 0x1021 โดย CCITT-FALSE เริ่มที่ 0xFFFF, XMODEM เริ่มที่ 0 และ KERMIT เริ่มที่ 0 แบบกลับบิต สำหรับ 123456789 จะได้ 0x29B1, 0x31C3 และ 0x2189
- ทำไม CRC-32 ของฉันไม่ตรงกับโปรแกรมอื่น
- ตรวจไบต์ข้อมูลเข้าก่อน: UTF-8 และ Latin-1 เข้ารหัสข้อความเดียวกันต่างกัน CRC-32 มาตรฐาน (ISO-HDLC) ให้ 0xCBF43926 สำหรับ 123456789 ส่วน MPEG-2 และ BZIP2 ใช้การตั้งค่าอื่น
- CRC ปลอดภัยพอสำหรับตรวจจับการปลอมแปลงหรือไม่
- ไม่พอ CRC ตรวจจับข้อผิดพลาดโดยไม่ตั้งใจได้ แต่ใครก็แก้ไขข้อมูลแล้วคำนวณใหม่ได้ ให้ใช้แฮชเชิงการเข้ารหัส เช่น SHA-256