跳转至

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 解在码结果字节流