校驗和計算器
從 UTF-8 文字或十六進位位元組計算明確的 XOR-8 BCC、Modbus ASCII 二補數 LRC,以及 256 位元組總和模運算值。
隱私權:你的檔案不會離開裝置,所有處理均在瀏覽器本機完成。
使用方式
- 1.請根據協定實際的輸入表示方式,選擇 UTF-8 字串或十六進位位元組。
- 2.請輸入與校驗和對應的完整位元組;僅在目標規範明確要求時,才省略封包字元。
- 3.請計算並與裝置檔案中的明確 XOR-8 BCC 與 Modbus ASCII 二補數 LRC 公式進行比對,並複製標註結果。
關於校驗和計算器
校驗和計算器針對相同輸入位元組計算三個明確命名的單位元組值:XOR-8 塊檢查字元、Modbus ASCII 長度冗餘檢查,以及原始總和模 256。請選擇 UTF-8 文字或十六進位位元組,輸入資料內容,並執行計算。頁面會顯示每個結果的兩個小寫十六進位數字,以及實際處理的位元組數量。
字元校驗和並不是一種通用的演算法。不同裝置和協議會使用不同的初始值、位元組範圍、寬度、反轉規則、補數、位元組順序、幀排除以及最終轉換方式。這個工具避免產生一個未說明的通用結果。它會宣告自己實作的公式,並不會僅因某協議使用 BCC、LRC 或 checksum 這些名詞,就聲稱與該協議相容。
XOR-8 BCC 從零開始,將每個選取的位元組進行 XOR 運算,累積至一個八位元的計數器中。XOR 是交換律的,進位無關緊要。這個簡單的區塊檢查字元被一些串列和裝置協議使用,但其他產品可以使用 BCC 來表示加法校驗和、LRC、CRC 或是幀中不同部分的校驗和。在插入結果前,請確認供應商文件。
Modbus ASCII LRC 將每一個訊息位元組加總至八位元欄位,丟棄進位,並對最終總和取兩補數。等價於負的位元組總和模 256。官方序列線指南明確指出,計算 LRC 時應排除開頭冒號與結尾的 CRLF。本頁面不會自動移除框架內容;請僅輸入目標規範明確要求的位元組。
模 256 的總和以診斷用途顯示。這是普通位元組總和的低八位元,尚未進行 Modbus 兩補數處理。該總和與 LRC 相加將模 256 等於零。同時顯示這兩個值,有助於判斷裝置說明是否預期的是加法總和、補數,或某種不同的規範。
在十六進位模式下,請以恰好兩位十六進位數字輸入每個位元組,位元組間可插入空白字元。字首如 0x、逗號、冒號、連字元、不完整的半字元(nibble)或註解皆被拒絕,不會被猜測。在文字模式下,瀏覽器會先將字串轉為 UTF-8。因此非 ASCII 的字元可能貢獻多個位元組,顯示的位元組數量可能超過可見字元數。
這些單位元組檢查僅能偵測一些意外變更,並非加密雜湊、訊息驗證碼、數位簽章、加密或來源證明。XOR 與加法校驗和存在大量碰撞,且可被故意調整。請勿用於保護憑證、授權指令、驗證軟體下載或驗證惡意網路流量。請依照實際協定所需的保安機制來使用。
頁面最多處理 500,000 個位元組,絕不會靜默截斷輸入,且對於錯誤的十六進位格式會顯示錯誤訊息而不產生部分結果。所有結果皆為恰好兩個小寫十六進位數字,包含前導零。複製輸出包含標籤、三個值以及位元組數量,以便貼上診斷註記時仍能保留選擇的解釋。
外部測試案例涵蓋空值與零值輸入、單個位元組、溢位至 ff、一個典型的 Modbus 請求位元組序列、多個位元組模式,以及 ASCII 個位元組的 123456789。Modbus 公式依照官方「Modbus over Serial Line」規範執行。XOR-8 BCC 的行為已與廠商檔案中明確定義的八位元 XOR 過程相互驗證。
在使用結果前,請在目標檔案中識別輸入的位元組表示方式、校驗和寬度、演算法、初始值、包含的欄位、最終補數以及傳輸的位元組順序。如果協議說明是 CRC-16、CRC-32、Fletcher、Adler、Internet checksum 或一個已命名的密碼學雜湊,這個計算器就不是正確的工具。它的價值在於透明地重現兩個簡單的八位元公式,而不是自動偵測協議。
方法與來源
XOR-8 BCC 對每一個位元組從零開始進行異或運算。Modbus ASCII LRC 對位元組求和,對 256 取模,並返回二補數,等於負總和對 256 取模。UTF-8 字串在計算前會先進行編碼;十六進位則直接解析為位元組。
常見問題
- 這個校驗和演算法使用的是哪一種?
- 它顯示三個明確值:XOR-8 BCC、Modbus ASCII 二補數 LRC,以及原始位元組總和對 256 取模。
- 是否需要包含 Modbus 的冒號與 CRLF?
- 標準的 Modbus ASCII LRC 不需要。請輸入訊息位元組,排除開頭冒號與結尾的 CRLF,依照官方指南操作。
- 這些值能驗證訊息的正確性嗎?
- 不會。這些僅是簡單的錯誤偵測機制,碰撞率高,並非加密驗證。
相關工具
- 文字轉為十六進位將文字編碼為精確的 UTF-8 十六進位字串,支援連續、間隔或 0x 預設輸出格式,並明確顯示 Unicode 替換警告。
- 十六進位轉文字工具依據明確的分隔符與 0x 字首規則解析十六進位位元組,僅解碼完整有效的 UTF-8,不進行靜默取代。
- Base64 到 十六進位轉換器將 RFC 4648 Base64 轉換為精確的小寫十六進位位元組,或將嚴格的十六進位位元組轉回 Base64。
- 二進位轉文字文字轉換為二進位,並能將二進位轉迴文字,支援完整的 Unicode(UTF-8)功能,且所有運算皆在你的瀏覽器中執行。
- A1Z26 字母數字密碼轉換器把英文字母轉為明確的 A=1 至 Z=26 益智格式,並在不混淆單字邊界的情況下解碼經驗證的數字組。
- AES 線上加密完全在瀏覽器中把文字加密為可攜、具驗證能力的 AES-256-GCM JSON 封裝,或使用密碼解密封裝。
編碼與加密 使用指南
查看全部- BCC Checksum API Alternative: Compute Locally (英文原文)
- Calculate the Checksum for a FIX Message (英文原文)
- How to Calculate a Checksum in Computer Networks (英文原文)
- How to Calculate a Checksum Digit in GST Frames (英文原文)
- How to Calculate a Binary Checksum From Raw Bytes (英文原文)
- How to Calculate a 16-Bit Checksum: Formula and Limits (英文原文)
- How to Calculate Checksum: XOR-8 and Modbus LRC (英文原文)
- Compare Approaches to Use a ROT47 Encoder Decoder (英文原文)
- Rail Fence Cipher Decoder Alternative for Exact Text (英文原文)
- Convert Punycode to Unicode: Read xn-- Labels (英文原文)
- Check Password Strength in Python Without the Regex Trap (英文原文)
- Translate Morse Code to English: A Practical Workflow (英文原文)
- HTML Escape Cheat Sheet: Reserved Characters (英文原文)
- HMAC-SHA256 Tag Generator: Hex and Base64 Guide (英文原文)
- Hill Cipher Decoder Alternative: Skip the Matrix Math (英文原文)
- Convert Hex Format to Text: A Strict UTF-8 Workflow (英文原文)
- Convert File to Base64 for C# Code: Local Browser Steps (英文原文)
- Calculate CRC32 Checksum and Match the 8 Hex Digits (英文原文)
- Caesar Cipher Decoder API Alternative Without Signup (英文原文)
- Binary to Text Encoding: A UTF-8 Guide (英文原文)