https://github.com/deatil/go-crc16
crc16 checksum (IBM/ARC/AUG_CCITT/BUYPASS/CCITT/CCITT_FALSE/CDMA2000/DDS_110/DECT_R/DECT_X/DNP/GENIBUS/MAXIM/MCRF4XX/RIELLO/T10_DIF/TELEDISK/TMS37157/USB/CRC_A/KERMIT/MODBUS/X_25/XMODEM/XMODEM2)
https://github.com/deatil/go-crc16
crc crc16 go go-crc go-crc16 hash
Last synced: 8 months ago
JSON representation
crc16 checksum (IBM/ARC/AUG_CCITT/BUYPASS/CCITT/CCITT_FALSE/CDMA2000/DDS_110/DECT_R/DECT_X/DNP/GENIBUS/MAXIM/MCRF4XX/RIELLO/T10_DIF/TELEDISK/TMS37157/USB/CRC_A/KERMIT/MODBUS/X_25/XMODEM/XMODEM2)
- Host: GitHub
- URL: https://github.com/deatil/go-crc16
- Owner: deatil
- License: apache-2.0
- Created: 2022-07-12T05:08:28.000Z (over 3 years ago)
- Default Branch: main
- Last Pushed: 2024-01-25T04:11:55.000Z (over 1 year ago)
- Last Synced: 2025-02-01T05:31:33.574Z (9 months ago)
- Topics: crc, crc16, go, go-crc, go-crc16, hash
- Language: Go
- Homepage: https://pkg.go.dev/github.com/deatil/go-crc16
- Size: 19.5 KB
- Stars: 6
- Watchers: 2
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
## crc16
### 项目介绍
* crc16 相关算法
* 可用检验方法:`ChecksumIBM`, `ChecksumARC`, `ChecksumAUG_CCITT`, `ChecksumBUYPASS`, `ChecksumCCITT`, `ChecksumCCITT_FALSE`, `ChecksumCDMA2000`, `ChecksumDDS_110`, `ChecksumDECT_R`, `ChecksumDECT_X`, `ChecksumDNP`, `ChecksumGENIBUS`, `ChecksumMAXIM`, `ChecksumMCRF4XX`, `ChecksumRIELLO`, `ChecksumT10_DIF`, `ChecksumTELEDISK`, `ChecksumTMS37157`, `ChecksumUSB`, `ChecksumCRC_A`, `ChecksumKERMIT`, `ChecksumMODBUS`, `ChecksumX_25`, `ChecksumXMODEM`, `ChecksumXMODEM2`### 下载安装
~~~go
go get -u github.com/deatil/go-crc16
~~~### 使用
~~~go
package mainimport (
"fmt"
"encoding/hex""github.com/deatil/go-crc16/crc16"
)func main() {
// 16进制字符转为 byte
crc16Hex, _ := hex.DecodeString("0100")
// encodedStr := hex.EncodeToString(b)crc16Data := crc16.ChecksumMODBUS(crc16Hex)
crc16Data2 := crc16.ToHexString(crc16Data)
// crc16Data2 := crc16.ToReverseHexString(crc16Data)fmt.Println("计算结果为:", crc16Data2)
// hash
crc16Hash := crc16.NewCRC16Hash(crc16.CRC16_MODBUS)
crc16Hash.Write(crc16Hex)
crc16HashData := crc16Hash.Sum(nil)
crc16HashData2 := hex.EncodeToString(crc16HashData)fmt.Println("hash结果为:", crc16HashData2)
}
~~~### 开源协议
* 本软件包遵循 `Apache2` 开源协议发布,在保留本软件包版权的情况下提供个人及商业免费使用。
### 版权
* 本软件包所属版权归 deatil(https://github.com/deatil) 所有。