您当前的位置:首页 > 互联网教程

java中CRC算法是个什么东东

发布时间:2025-05-21 00:03:11    发布人:远客网络

java中CRC算法是个什么东东

一、java中CRC算法是个什么东东

CRC算法实现有2种方法,一、查表法,二、直接计算,查表法的计算速度相对来说比较快,本人介绍的方法是直接计算法,用了2种方法实现,都是面向对象进行算法的封装。

public void update(byte aByte)

for(int count= 7; count>=0; count--){

value=((value<< 1)+ b) ^ 0x1021;

public static void main(String[] args){

//(byte) 0xF0,(byte)0xF0,(byte)0xF0,(byte)0x72

(byte) 0x2C,(byte)0x00,(byte)0xFF,(byte)0xFE

,(byte) 0xFE,(byte)0x04,(byte)0x00,(byte)0x00

for(int k= 0; k< b.length; k++)

System.out.println(Integer.toHexString(crc16.getValue()));

System.out.println(Integer.toHexString(b.length));

public static final void main(String[] args){

//(byte) 0xF0,(byte)0xF0,(byte)0xF0,(byte)0x72

(byte) 0x2C,(byte)0x00,(byte)0xFF,(byte)0xFE

,(byte) 0xFE,(byte)0x04,(byte)0x00,(byte)0x00

System.out.println(Integer.toHexString(crc16.encode(b)));

//再把这个2f49替换成b数组的最后两个字节的数组,生成一个新的数组b2

//(byte) 0xF0,(byte)0xF0,(byte)0xF0,(byte)0x72

(byte) 0x2C,(byte)0x00,(byte)0xFF,(byte)0xFE

,(byte) 0xFE,(byte)0x04,(byte)0x00,(byte)0x00

System.out.println(Integer.toHexString(crc16.encode(b2)));//算出来是 0

//你可以自已构造一些byte进行加解密试试

public short encode(byte[] b){

int pp= 65536;// 1<<16;

int pp2= 69665;//(1<<16)+(1<<12)+(1<<5)+ 1

for(int i=0;i<b.length;i++){

CRC_x=(short)((CRC_x<<1)+(((b[i]<<j)&0x80)>>7));

二、Java中级开发工程师的职责

1、Java中级开发工程师的主要职责包括以下几点:

2、核心功能开发:负责公司WMS、OMS、TMS、BMS等关键产品的核心功能开发,确保这些系统的稳定运行和持续优化。

3、接口设计与开发:参与公司物流产品的对外接口设计与开发,确保接口的高效、稳定和易用,为外部系统提供稳定的数据交互服务。

4、技术解决方案:针对业务场景提供技术解决方案,解决开发过程中遇到的技术难题,确保项目的顺利进行。

5、文档编写:编写相关开发文档,包括设计文档、接口文档、用户手册等,确保团队成员和后续维护人员能够准确理解系统设计和实现细节。

6、技术框架使用:熟练使用Springboot、SpringCloud、SpringMVC、Mybatis、Dubbo、Redis等主流开源框架进行项目开发,具备微服务相关框架的使用经验。

7、数据库管理:具备Oracle、MySQL、SQLserver等主流数据库的使用能力,特别是Oracle的熟练使用和有SQL编写能力。

8、前端开发能力:掌握前端基础,包括JavaScript、JQuery、HTML、CSS,并熟悉一种以上前端UI框架,以提升产品的用户体验。

9、系统设计与开发经验:具备大型分布式、高并发、高负载、高可用性系统的设计开发经验,确保系统能够应对复杂的业务场景和高性能要求。

10、团队合作与沟通:具备良好的逻辑思维能力、沟通能力和抗压能力,能有效配合团队工作,共同完成项目目标。