要求经过utf-8编码显示数据长度和版本号和标志 加上json字符串转成的指令数据包 他们一起叫做明文数据包
就是怎么把他们放在一起呢
4条回答 默认 最新
- Winson.J 2021-09-27 04:10关注本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 1无用qq_58162458 2021-09-27 05:42
它是由两次加密的第二次计算
第一次只对指令数据包加密
第二次是对mac进行计算这最后要算出来mac值是要拼接到发送的消息后面是吗
先加密指令数据包在使用StringBuffer拼接是吗赞回复1.先组好json格式的指令包
2. 使用加密key ,对指令包加密
3. 使用完整性key,对加密过的指令包再加密,对这次的结果截取前4个字节
4. 组报文,比如版本是1,标志是A,加密指令包 xxxxxxxxxx mac是####示意代码,只表示思路
StringBuffer sb = new StringBuffer();
sb.append("1");//1个字节版本号
sb..append("A“);//1个字节标志
sb.append("xxxxxxxxxx");//加密指令包
sb.append(mac);//mac
int length = sb.toString().getBtyes("Utf-8“”).length();//指令包长度, 这个长度是否包含版本号,标志看要求
String message = length + sb.toString();//发送的消息
最后的报文
xxxx1A000000000000000000000000000000000000000000000000000000####赞回复展开全部30条评论