16进制数据相加,计算校验和

来源:互联网 发布:爬虫数据采集兼职 编辑:程序博客网 时间:2024/06/05 11:17
取得是低位校验和
public String makeChecksum(String data)    {        if (StringUtils.isEmpty(data))        {            return "";        }                int iTotal = 0;        int iLen = data.length();        int iNum = 0;                while (iNum < iLen)        {            String s = data.substring(iNum, iNum + 2);            System.out.println(s);            iTotal += Integer.parseInt(s, 16);            iNum = iNum + 2;        }                /**         * 用256求余最大是255,即16进制的FF         */        int iMod = iTotal % 256;        String sHex = Integer.toHexString(iMod);        iLen = sHex.length();        //如果不够校验位的长度,补0,这里用的是两位校验        if (iLen < 2)        {            sHex = "0" + sHex;        }        return sHex;    }

0 0
原创粉丝点击