首页 > 编程知识 正文

c++ qt(qt能做什么)

时间:2023-05-06 01:46:50 阅读:90462 作者:4734

函数名

//异或加密算法

staticqstringgetxorencryptdecrypt (constqstringstr,字符密钥);

//异或检查

staticuchargetorcode (康斯坦茨字节数据;

//计算校验数字

staticuchargetcheckcode (联合四字节阵列数据;

//CRC检查

静态quint 16 getrevcrc _ 16 (quint8*数据、内部指示灯、quint 16初始化、常数quint 16 *表);

静态quint 16获取CRC _ 16 (quint8*数据、内部指示灯、quint 16初始化、恒定客户端16 *表);

静态quint 16 get Modbus 16 (quint8*数据,内部指示灯);

staticqbytearraygetcrccode (constqbytearraydata;

函数体

qstringquihelper 33603360 getxorencryptdecrypt (康斯特克斯,角色关键点) ) ) ) ) ) ) ) ) ) ) ) ) ) )中)。)

{

q字节数据=str.to latin1 (;

int size=data.size (;

for (英制=0; i size; I ) {2}

数据=数据^密钥;

}

返回字符串1 (数据);

}

ucharquihelper :3360获取代码(constqbytearraydata ) () ) ) ) ) ) ) ) ) ) ) ) ) ) )。

{

int len=data.length (;

uchar result=0;

for (英制=0; i len; I ) {2}

结果^=数据. at (I;

}

返回结果;

}

ucharquihelper :3360获取检查代码(联合行业协会(constqbytearraydata );) ) ) ) ) ) ) ) ) ) ) )。) ) ) ) )一个侧边。)

{

int len=data.length (;

字符时间=0;

for(ucharI=0; i len; I ) {2}

temp=数据. at (I;

}

返回时间% 256;

}

//函数功能:计算CRC16

//引数1:*data 16位CRC检查数据、

//参数2:len数据流长度

//参数3:init初始化值

//参数4 :表16位CRC查找表

//逆序CRC计算

quint 16 qui帮助器33603360 getrevcrc _ 16 (quint8*数据、内部指示灯、quint 16内部指示灯、常数quint 16 *表) ) ) ) ) )

{

quint16 cRc_16=init;

quint 8暂停;

while(len----0) {

temp=cRc_16 8;

CRC_16=(CRC_168 ) ^表()时间间隔^ *数据)0xff] );

}

返回控制中心16;

}

//正序CRC计算

quint 16 qui帮助器33603360 get CRC _ 16 (quint8*数据、内部链路、quint16 init、常数quint 16 *表) ) ) ) ) ) ) )

{

quint16 cRc_16=init;

quint 8暂停;

while(len----0) {

temp=cRc_160xff射频;

CRC_16=(CRC_168 ) ^表()时间间隔^ *数据)0xff] );

}

返回控制中心16;

}

//Modbus CRC16检查

quint 16 qui helper 33603360 get Modbus 16 (quint8*数据(内部链路) ) ) ) ) ) ) ) ) )。) ) ) ) ) ) )但) ) ) ) ) ) )中)。) )

{

//MODBUS CRC-16表8005逆序

常数quint 16表16 [ 256 ]={

0x 0000、0xc0c 1、0xc 181、0x 0140、0xc 301、0x03c 0、0x 0280、0xc 241、

0xc 601、0x06c 0、0x 0780、0xc 741、0x 0500、0xc5c 1、0xc 481、0x 0440、

0xcc 01,0x0cc 0,0x0d 80,0xcd 41,0x0f 00,0xcfc 1,0xce 81,0x0e 40,

0x0a 00、0x CAC 1、0x CB 81、0x0b 40、0xc 901、0x09c 0、0x 0880、0xc 841、

0xd 801、0x18c 0、0x 1980、0xd 941、0x1b 00、0x DB C1、0x DA 81、0x1a 40、

0x1e 00、0x DE C1、0xDF 81、0x1f 40、0x DD01、0x1DC 0、0x1c 80、0x DC 41、

0 x 1400、0 xd4c 1、0 xd 581、0 x 1540、0 xd 701、0 x17c 0、0 x 1680、0 xd 641、

0xd 201、0x12c 0、0x 1380、0xd 341、0x 1100、0xd1c 1、0xd 081、0x 1040、

0xf 001、0x30 c 0、0x 3180、0xf 141、0x 3300、0xf3c 1、0xf 281、0x 3240、

0 x 3600、0 xf6c 1、0 xf 781、0 x 3740、0 xf 501、0 x35c 0、0 x 3480、0 xf 441、

0x3c 00、0x FC C1、0x FD 81、0x3d 40、0x FF 01、0x3FC 0、0x3e 80、0x FE 41、

0x FA 01、0x3ac 0、0x3b 80、0x FB 41、0x 3900、0xf9c 1、0xf 881、0x 3840、

0 x 2800、0 xe8c 1、0 xe 981、0 x 2940、0 xeb 01、0 x2bc 0、0 x2a 80、0 xea 41、

0 xee 01,0 x2ec 0,0 x2f 80,0 xef 41,0 x2d 00,0 xed C1,0 xec 81,0 x2c 40,

0xe 401、0x24c 0、0x 2580、0xe 541、0x 2700、0xe7c 1、0xe 681、0x 2640、

0 x 2200、0 xe2c 1、0 xe 381、0 x 2340、0 x e101、0 x21c 0、0 x 2080、0 xe 041、

0 xa001、0 X60 c 0、0 x 6180、0 xa 141、0 x 6300、0 xa3c 1、0 xa 281、0 x 6240、

0 x 6600、0 xa6c 1、0 xa 781、0 x 6740、0 xa 501、0 x65c 0、0 x 6480、0 xa 441、

0x6c 00、0x ACC 1、0x AD 81、0x6d 40、0x AF 01、0x6fc 0、0x6e 80、0x AE 41、

0 xaa01,0 x6ac 0,0 x6b 80,0 xab 41,0 x 6900,0 xa9c 1,0 xa 881,0 x 6840,

0 x 7800、0 xb8c 1、0 XB 981、0 x 7940、0 x b01、0 x7bc 0、0 x7a 80、0 x ba41、

0x be01,0x7ec 0,0x7f 80,0x bf41,0x7d 00,0x BDC 1,0x BC 81,0x7c 40,

0xb 401、0x74c 0、0x 7580、0xb 541、0x 7700、0xb7c 1、0xb 681、0x 7640、

0x 7200、0xb2c 1、0xb 381、0x 7340、0xb 101、0x71c 0、0x 7080、0xb 041、

0 x 5000、0 x90 c 1、0 x 9181、0 x 5140、0 x 9301、0 x53 c 0、0 x 5280、0 x 9241、

0 x 9601、0 x56c 0、0 x 5780、0 x 9741、0 x 5500、0 x95c 1、0 x 9481、0 x 5440、

0x9c 01,0x5cc 0,0x5d 80,0x9d 41,0x5f 00,0x9fc 1,0x9e 81,0x5e 40,

0x5a 00、0x9ac 1、0x9b 81、0x5b 40、0x 9901、0x59c 0、0x 5880、0x 9841、

0 x 8801、0 x48c 0、0 x 4980、0 x 8941、0 x4b 00、0 x8bc 1、0 x8a 81、0 x4a 40、

0x4e 00,0x8ec 1,0x8f 81,0x4f 40,0x8d 01,0x4dc 0,0x4c 80,0x8c 41,

0 x 4400、0 x84c 1、0 x 8581、0 x 4540、0 x 8701、0 x47c 0、0 x 4680、0 x 8641、

0x 8201,0x42c 0,0x 4380,0x 8341,0x 4100,0x81c 1,0x 8081,0x 4040

(;

returngetcrc _ 16 (数据、len、0xFFFF、表16 );

}

//CRC16检查

qbytearrayquihelper :3360 getcrccode (联合行业数据) ) ) )。

{

quint 16结果=获取Modbus 16 ((quint8* )数据.数据)、数据长度);

returnquihelper :3360 ushorttobyterec (结果);

}

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。