博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
将C语言的CRC32 代码转成JAVA的CRC32 代码
阅读量:6337 次
发布时间:2019-06-22

本文共 1482 字,大约阅读时间需要 4 分钟。

public class CustomerCRC32 {    private static long[] crc32Table = new long[256];    static {        long crcValue;        for (int i = 0; i < 256; i++) {            crcValue = i;            for (int j = 0; j < 8; j++) {                if ((crcValue & 1) == 1) {                    crcValue = crcValue >> 1;                    crcValue = 0x00000000edb88320L ^ crcValue;                } else {                    crcValue = crcValue >> 1;                }            }            crc32Table[i] = crcValue;        }    }    public static long getCrc32(byte[] bytes) {        long resultCrcValue = 0x00000000ffffffffL;        for (int i = 0; i < bytes.length; i++) {            int index = (int) ((resultCrcValue ^ bytes[i]) & 0xff);            resultCrcValue = crc32Table[index] ^ (resultCrcValue >> 8);        }        resultCrcValue = resultCrcValue ^ 0x00000000ffffffffL;        return resultCrcValue;    }    public static void main(String[] args) {        String testStr = "{\"log\":{\"content\":\"2\",\"time\":\"2016-01-05 10:17:24\",\"type\":1001,\"version\":\"[5.0.8.12]\"},\"pcInfo\":{\"ip\":\"192.168.118.57\",\"mac\":\"94-DE-80-A8-E6-EC\",\"onlyId\":\"7CE81DDBF7D05F6AD89CD7D79FAA5905\"},\"user\":{\"name\":\"CFM\"}}";        java.util.zip.CRC32 jdkCrc32 = new java.util.zip.CRC32();        jdkCrc32.update(testStr.getBytes());        System.out.println("jdk  crc32: " + jdkCrc32.getValue());        System.out.println("test crc32: " + getCrc32(testStr.getBytes()));    }}

 

转载地址:http://yqxoa.baihongyu.com/

你可能感兴趣的文章
从线性模型到广义线性模型(1)——模型假设篇
查看>>
改变数据库和表编码
查看>>
push、pop指令
查看>>
ORA-32004: obsolete or deprecated parameter(s) specified for RDBMS instance
查看>>
华为堆叠交换机配置
查看>>
很简单Java动态代理实现
查看>>
Spring环境搭建,IoC容器初体验~
查看>>
字符头尾操作大全
查看>>
【cocos2d-js官方文档】十二、对象缓冲池
查看>>
css3之强制浏览器按照最新的标准去渲染
查看>>
C语言程序设计第一次作业
查看>>
Perl资料共享(下载)43本电子书
查看>>
http状态码
查看>>
JVM内存结构及内存溢出分析
查看>>
LVM 管理之四: 缩减 VG 大小( pvmove )
查看>>
全排列 题解
查看>>
python str与bytes之间的转换
查看>>
sass高级语法的补充
查看>>
校验身份证有效性
查看>>
透明的三个参数 容易失忆
查看>>