Coder
概述
算法库接口,接供这些接口是为了减少脚本的编程量,本部分内容将根据客户需求不断增加。
常量
CRC16类型
CRC16算法有很多种标准类型,以下为常用的两种:
常量 | 说明 | 多项式 |
---|---|---|
"xmodem" | XMODEM标准 | x16+x12+x5+1 |
"x25" | X25标准 | x16+x12+x5+1 |
"ccitt-1" | CCITT标准 | x16+x12+x5+1 |
"ccitt" | CCITT FALSE标准 | x16+x12+x5+1 |
"ibm" | IBM标准 | x16+x15+x2+1 |
"maxim" | MAXIM标准 | x16+x15+x2+1 |
"modbus" | MODBUS标准 | x16+x15+x2+1 |
"usb" | USB标准 | x16+x15+x2+1 |
"ansi" | ANSI标准,常用于HJ212协议 | x16+x15+x2+1 |
HEX类型
把整数转成十六进制字符串时选择的格式:
参数 | 说明 |
---|---|
"fit" | 自适应,结果长度按数值本身大小,第一位非零,字母小写 |
"1b" | 数值按一个字节处理,即结果有两个字符,字母小写 |
"2b" | 数值按两个字节处理,即结果有四个字符,字母小写 |
"4b" | 数值按四个字节处理,即结果有八个字符,字母小写 |
"FIT" | 自适应,结果长度按数值本身大小,第一位非零,字母大写 |
"1B" | 数值按一个字节处理,即结果有两个字符,字母大写 |
"2B" | 数值按两个字节处理,即结果有四个字符,字母大写 |
"4B" | 数值按四个字节处理,即结果有八个字符,字母大写 |
NUM类型
把数值转成字符串时选择的格式:
参数 | 说明 |
---|---|
"%d" | 按整数格式化 |
"%x" | 按十六进制整数格式化,字母小写 |
"%X" | 按十六进制整数格式化,字母大写 |
"%f" | 按浮点数格式化 |
"%g" | 按最短长度的字符串格式化 |
"%c" | 把一个整数格式化为一个字符 |
"%o" | 按八进制整数格式化 |
注:%后面可增加字符宽度控制符,如%03d, %3.4f, %04X等,具体可参考C语言里的sprintf函数里的参数说明
函数
crc16
算出一个字节流的CRC16校验值。
Coder.crc16(data_string | data_bytes [,type])
参数 必选 类型 说明 data_string true String 要计算的字符串 data_bytes true Bytes 要计算的字节流 type false String CRC16类型,详见本节CRC16类型,忽略则用"xmodem" return int CRC16校验值
bcc
算出一个字节流的异或校验值。
Coder.bcc(data_string | data_bytes)
参数 必选 类型 说明 data_string true String 要计算的字符串 data_bytes true Bytes 要计算的字节流 return int 异或校验值
md5
算出一个字符串MD5值。
Coder.md5(data_string | data_bytes)
参数 必选 类型 说明 data_string true String 要计算的字符串 data_bytes true Bytes 要计算的字节流 return Bytes 长度为16的字节流
sha1
算出一个字符串SHA1值。
Coder.sha1(data_string | data_bytes)
参数 必选 类型 说明 data_string true String 要计算的字符串 data_bytes true Bytes 要计算的字节流 return Bytes 长度为20的字节流
sha256
算出一个字符串SHA256值。
Coder.sha256(data_string | data_bytes)
参数 必选 类型 说明 data_string true String 要计算的字符串 data_bytes true Bytes 要计算的字节流 return Bytes 长度为32的字节流
hex
把一个整数格式化为十六进制字符串。
Coder.hex(data [,type])
参数 必选 类型 说明 data true int 要计算的整数 type false int HEX类型,详见本节HEX类型,忽略则用"fit" return String 十六进制格式字符串
num
把一个数值格式化为字符串。
Coder.num(data [,type])
参数 必选 类型 说明 data true int 要计算的整数 type false int NUM类型,详见本节NUM类型,忽略按整数格式化 return String 格式字符串
sm4e
sm4加密。
Coder.sm4e(data_string | data_bytes, key_string | key_bytes)
参数 必选 类型 说明 data_string true String 要加密的字符串 data_bytes true Bytes 要加密的字节流 key_string true String 密钥的字符串 key_bytes true Bytes 密钥的字节流 return bytes 加密结果字节流
sm4d
sm4解密。
Coder.sm4d(data_string | data_bytes, key_string | key_bytes)
参数 必选 类型 说明 data_string true String 要解密的字符串 data_bytes true Bytes 要解密的字节流 key_string true String 密钥的字符串 key_bytes true Bytes 密钥的字节流 return bytes 解密结果字节流
aese
AES加密。
Coder.aese(data_string | data_bytes, key_string | key_bytes)
参数 必选 类型 说明 data_string true String 要加密的字符串 data_bytes true Bytes 要加密的字节流 key_string true String 密钥的字符串 key_bytes true Bytes 密钥的字节流 return bytes 加密结果字节流
aesd
AES解密。
Coder.aesd(data_string | data_bytes, key_string | key_bytes)
参数 必选 类型 说明 data_string true String 要解密的字符串 data_bytes true Bytes 要解密的字节流 key_string true String 密钥的字符串 key_bytes true Bytes 密钥的字节流 return bytes 解密结果字节流
dese
DES加密。
Coder.dese(data_string | data_bytes, key_string | key_bytes)
参数 必选 类型 说明 data_string true String 要加密的字符串 data_bytes true Bytes 要加密的字节流 key_string true String 密钥的字符串 key_bytes true Bytes 密钥的字节流 return bytes 加密结果字节流
desd
DES解密。
Coder.desd(data_string | data_bytes, key_string | key_bytes)
参数 必选 类型 说明 data_string true String 要解密的字符串 data_bytes true Bytes 要解密的字节流 key_string true String 密钥的字符串 key_bytes true Bytes 密钥的字节流 return bytes 解密结果字节流
base64e
BASE64编码。
Coder.base64e(data_string | data_bytes)
参数 必选 类型 说明 data_string true String 要编码的字符串 data_bytes true Bytes 要编码的字节流 return Bytes 编码结果字符串
base64d
BASE64解码。
Coder.base64d(data_string)
参数 必选 类型 说明 data_string true String 要解码的字符串 return String 解在码结果字节流