编码解码哈希加密格式化时间转换开发生成文本处理网络工具其他工具
首页 / 哈希加密 / LRC校验

LRC校验

Modbus 常用的 LRC 纵向冗余校验计算

输入
结果

这个工具能做什么

LRC 校验工具计算纵向冗余校验 Longitudinal Redundancy Check,把所有字节相加后取二进制补码,得到一个字节的校验值。它最典型的用途是 Modbus ASCII 协议的帧校验。你可以粘贴十六进制字节或输入文本,工具会算出 LRC 及其十六进制形式。

LRC 的算法是:先把参与校验的所有字节做累加,对 256 取模得到低八位的和,再用 0x100 减去这个和(即取补码)得到 LRC。这样做的结果是,把所有字节连同 LRC 一起相加,低八位正好为零,接收方据此快速验证数据完整性。它比单纯的求和校验多了一步取补,能多发现一些错误。

以 Modbus 常见的一帧为例,字节 01 03 21 02 00 02 累加和的低八位是 0x29,用 0x100 减去得到 LRC = 0xD7。要注意 Modbus ASCII 里字节是以 ASCII 十六进制字符传输的,计算 LRC 时要先还原成真正的字节值再累加,本工具的十六进制模式正是按字节值处理。

和 BCC 一样,LRC 只有 8 位、检错能力有限,无法抵御多位同时出错的情况。它的价值在于实现简单、开销小,非常适合资源受限的工业设备。若需要更强的检错,可选用 CRC-16 等方案。

LRC校验是一个免费的在线工具,打开网页就能用,不用下载也不用注册。平时大家搜的“lrc”、“lrc校验”、“纵向冗余校验”,说的都是这个。

常见使用场景

使用方法

  1. 把内容粘贴到输入框(生成类工具直接设置选项)。
  2. 按需要选择选项,点操作按钮。
  3. 结果出现在下方,点「复制结果」即可带走。

常见问题

LRC 和 BCC、校验和有什么不同?
BCC 是逐字节异或;普通校验和是简单累加;LRC 是累加后再取补码,使全部字节加 LRC 的低八位为零。LRC 常用于 Modbus ASCII。
Modbus 的 LRC 怎么算?
把地址、功能码、数据等字节累加,对 256 取模后用 0x100 减去该值。注意 Modbus ASCII 传输的是十六进制字符,要先还原成字节值。本工具十六进制模式已按字节处理。
为什么要"取补码"这一步?
取补码后,所有数据字节加上 LRC 的低八位恰好等于 0,接收端只要把整帧(含 LRC)相加看低八位是否为零即可快速判断,无需单独比对。
输入要不要包含起止符和换行?
不要。Modbus ASCII 的冒号起始符和回车换行结束符不参与 LRC 计算,只对中间的数据字节计算。请只粘贴需要校验的字节。
LRC 能检出所有错误吗?
不能。LRC 只有 8 位,若多个字节的同一位同时出错可能相互抵消导致漏检。对可靠性要求高的场景建议使用 CRC。

相关工具

查看全部「哈希加密」工具 →