我想在 java.help me out 中计算自定义校验和计算。如何进行以下示例操作?
例子 :
data : 30313037303130453030
hex summation :
x = ' 30+31+30+37+30+31+30+45+30+30' = '1FE'
Not of hex value :
y = NOT(x) = 01
Answer : Checksum = 3031
我找到了关于 cksum 计算的很好的 tut(它在 java 中) -这里。这里还有一个.jar
可能会有所帮助的 -这里。甚至还有一个 Checksum 类,可以在这里找到 - LINK。
获得您正在谈论的“cksum”(因为它实际上是您正在创建的假“cksum”,如果您依赖它在代表不同文件的相同字符串中的唯一性,真的会给您带来一些问题等.) 你可以使用这个:
int value = 0;
String incHex = "";
for (int i = 0; i == data.length(); i+=2){
valueInt += Integer.parseInt(hex, data.substring(i, i+2));
}
resultHex = Integer.toHexString(valueInt);
这resultHex
是您示例中的“x”,valueInt
是该数字的十进制表示(数据字符串所有部分的总和)。