最近调试协议要求计算校验和,描述为:
校验和为16进制字符(0-F)表示的32位整数(8Byte)。
计算方法为:对“消息头+会话头+事务头+操作信息”按32位异或,对异或结果取反后的值为校验和。按上面意思,在网上查了一遍后,理解意思为:将“消息头+会话头+事务头+操作信息”拼成一个长字符串,然后按32长度分组,第一组和第二组异或,结果和第三组异或.......最后结果取反,再转成16进制。问题来了:
1、不是很确定上面计算思路是否正确
2、java中对字符串进行异或如何来操作?事情紧急,困扰好几天了!请高手们来看看!