好久没有更新啦,最近做了一个关于CRC16校验的项目,把这个方法分享给大家,代码如下:

    /**
     * CRC16计算产生校验码
     *
     * @param data 需要校验的数据
     * @return 校验码
     */
    public static String Make_CRC(byte[] data) {
        byte[] buf = new byte[data.length];// 存储需要产生校验码的数据
        for (int i = 0; i < data.length; i++) {
            buf[i] = data[i];
        }
        int len = buf.length;
        int crc = 0xFFFF;//16位
        for (int pos = 0; pos < len; pos++) {
            if (buf[pos] < 0) {
                crc ^= (int) buf[pos] + 256; // XOR byte into least sig. byte of
                // crc
            } else {
                crc ^= (int) buf[pos]; // XOR byte into least sig. byte of crc
            }
            for (int i = 8; i != 0; i--) { // Loop over each bit
                if ((crc & 0x0001) != 0) { // If the LSB is set
                    crc >>= 1; // Shift right and XOR 0xA001
                    crc ^= 0xA001;
                } else
                    // Else LSB is not set
                    crc >>= 1; // Just shift right
            }
        }
        String c = Integer.toHexString(crc);
        if (c.length() == 4) {
            c = c.substring(2, 4) + c.substring(0, 2);
        } else if (c.length() == 3) {
            c = "0" + c;
            c = c.substring(2, 4) + c.substring(0, 2);
        } else if (c.length() == 2) {
            c = "0" + c.substring(1, 2) + "0" + c.substring(0, 1);
        }
        return c;
    }

更多相关文章

  1. SpringBoot 2.0 中 HikariCP 数据库连接池原理解析
  2. 一句话锁定MySQL数据占用元凶
  3. Andorid App Widget Framework分析之一:AppWidgetService
  4. Android之开发性能优化简介
  5. android 报错column '_id' does not exist的解决方案
  6. Android(安卓)Camera 架构简析
  7. 【Android】Handler应用(二):从服务器端加载JSON数据的优化
  8. android:查询数据库 指定列 指定列名 并输出查询结果(如查询电话
  9. 安卓通过recyclerview进行全表增删改查

随机推荐

  1. android从assets目录复制到sd卡
  2. android加载中对话框,循环,透明
  3. android 拔打电话功能
  4. Android实现图片顺时逆时旋转及拖拽显示
  5. android优雅管理edittext得输入法
  6. Android(安卓)app之间通过socket通信
  7. android studio 解决 junit 错误的问题
  8. scrollview 上下滑动 禁止弹回效果
  9. Android:判断手机是否安装了QQ或者微信
  10. [Android实例] android json