/*16进制求和 不会进位,适合很长的,比如ipv6的16进制数*/ public static String makeChecksum(String num, int count) { //拆分每个16进制字符串 String[] split = num.trim().split(""); for (int i = split.length - 1; i > -1; i--) { int size = hexToInteger(split[i]) + count; int valuen = size % 16; split[i] = encodeHEX(valuen); count = size / 16; } StringBuilder str = new StringBuilder(); for (int i = 0; i < split.length; i++) { str.append(split[i]); } return str.toString(); }
/*16进制求和 适合任何16进制数*/ public static String makeChecksum2(String num, int count) { //拆分每个16进制字符串 String[] split = num.trim().split(""); /* for (int i = split.length - 1; i > -1; i--) { int size = hexToInteger(split[i]) + count; int valuen = size % 16; split[i] = encodeHEX(valuen); count = size / 16; }*/