Lua
--- 计算 hj212 CRC --- @param str string 212 字符串 --- @return string 四位crc校验值 local function crcCal(str) local crcReg = 0xFFFF for i = 1, str:len() do crcReg = bit.bxor(bit.rshift(crcReg, 8), string.byte(str, i)) for j = 1, 8 do local check = bit.band(crcReg, 0x0001) crcReg = bit.rshift(crcReg, 1) if check == 0x0001 then crcReg = bit.bxor(crcReg, 0xA001) end end end return string.format("%04X", crcReg) end