跳至主要內容
Lizely

校驗和計算器

從 UTF-8 文字或十六進位位元組計算明確的 XOR-8 BCC、Modbus ASCII 二補數 LRC,以及 256 位元組總和模運算值。

隱私權:你的檔案不會離開裝置,所有處理均在瀏覽器本機完成。

使用方式

  1. 1.請根據協定實際的輸入表示方式,選擇 UTF-8 字串或十六進位位元組。
  2. 2.請輸入與校驗和對應的完整位元組;僅在目標規範明確要求時,才省略封包字元。
  3. 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,依照官方指南操作。
這些值能驗證訊息的正確性嗎?
不會。這些僅是簡單的錯誤偵測機制,碰撞率高,並非加密驗證。

編碼與加密 使用指南

查看全部