java中CRC算法是个什么东东
发布时间:2025-05-21 00:03:11 发布人:远客网络
一、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、团队合作与沟通:具备良好的逻辑思维能力、沟通能力和抗压能力,能有效配合团队工作,共同完成项目目标。