包含java接收端crc16的词条

包含java接收端crc16的词条

  用java编写一个获得CRC校验码的javabean

  private static String mkCrc16(String str) {

  CRC16 crc16 = new CRC16();

  byte[] b = str.getBytes();

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

  crc16.update(b[i]);

  return Integer.toHexString(crc16.value);

  }

包含java接收端crc16的词条

  private static String mkCrc(String string) throws Exception {

  CRC32 crc32 = new CRC32();

  crc32.update(string.getBytes());

  return Long.toHexString(crc32.getValue());

  }

  public class CRCUtil {

  public static final int evalCRC16(byte[] data) {

  int crc = 0xFFFF;

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

  crc = (data[i] 8) ^ crc;

  for (int j = 0; j 8; ++j)

  if ((crc 0x8000) != 0)

  crc = (crc 1) ^ 0x1021;

  else

  crc = 1;

  }

  return (crc ^ 0xFFFF) 0xFFFF;

  }

  }

  crc校验求java到啊

  public class CRC16 { public static String crc16(String src,int len){

  int crc = 0x0000FFFF;

  short tc;

  char sbit;

  for(int i=0;ilen; i++){

  tc = (short)(crc 8);

  crc = ((tc ^ src.charAt(i)) 0x00FF); for(int r=0;r8;r++){

  sbit = (char)(crc 0x01);

  crc = 1; //�1�7�1�7�1�7�0�6�1�7�1�7�1�7�1�7�1�7�1�7�1�7�0�5λ

  if(sbit != 0)crc =(crc^0xA001) 0x0000FFFF; }

  }

  //Integer.toHexString(crc);

  return Integer.toHexString(crc);

  }

  }

  请教一个crc16校验算法的问题:程序每句话是什么意思,做什么用的,急用!!谢谢~~

  以下内容可能对你有用呀。好好看看就明白了。

  CRC校验

  采用CRC-16,即2字节冗余循环码CRC,低字节在前。CRC码由发端计算,放置于发送消息帧的尾部,接收端再重新计算接收到信息的CRC码,比较计算得到的CRC码是否与接收到的相符,若不符则表明出错。CRC码的计算包括整个消息内容,计算时只用8位数据位,而起始位、停止位及可能的校验位均不参与CRC计算。

  CRC校验可以100%检测出所有奇数个随机错误。CRC-16校验可以检测出长度小于等于16的突发错误,可以保证在1014 bit码元中只含有1位未被检测出的错误。CRC-16的具体算法有多种,以下是一个例子。

  1.置16位寄存器为全1,作为CRC寄存器。

  2.把一个8位数据与16位CRC寄存器的低字节相异或,把结果放于CRC寄存器中。

  3.把寄存器的内容右移一位(朝低位),用0填补最高位,检查最低位(移出位)。

  4.如果最低位为0,重复③(再移位);如果最低位为1,CRC寄存器与多项式A001H(1010 0000 0000 0001)进行异或。

  5.重复③、④,直到右移8次,这样整个8位数据全部进行了处理。

  6.重复②-⑤,进行下一个8位数据的处理。

  7.将一帧的所有数据字节处理完后得到CRC-16寄存器。

  8.将CRC-16寄存器的低字节和高字节交换,得到的值即为CRC-16码。

  JAVA怎么做CRC校验的程序

  实现方法:最简单的校验就是把原始数据和待比较数据直接进行比较,看是否完全一样这种方法是最安全最准确的。同时也是效率最低的。

  应用例子:龙珠cpu在线调试工具bbug.exe。它和龙珠cpu间通讯时,bbug发送一个字节cpu返回收到的字节,bbug确认是刚才发送字节后才继续发送下一个字节的。 实现方法:在数据存储和传输中,字节中额外增加一个比特位,用来检验错误。校验位可以通过数据位异或计算出来。

  应用例子:单片机串口通讯有一模式就是8位数据通讯,另加第9位用于放校验值。

  bcc异或校验法(block check character)

  实现方法:很多基于串口的通讯都用这种既简单又相当准确的方法。它就是把所有数据都和一个指定的初始值(通常是0)异或一次,最后的结果就是校验值,通常把它附在通讯数据的最后一起发送出去。接收方收到数据后自己也计算一次异或和校验值,如果和收到的校验值一致就说明收到的数据是完整的。

  校验值计算的代码类似于:

  unsigned uCRC=0;//校验初始值

  for(int i=0;iDataLenth;i++) uCRC^=Data[i];

  适用范围:适用于大多数要求不高的数据通讯。

  应用例子:ic卡接口通讯、很多单片机系统的串口通讯都使用。 (Cyclic Redundancy Check)

  实现方法:这是利用除法及余数的原理来进行错误检测的

  java crc16校验中 设置CRC寄存器,并给其赋值FFFF(hex)?怎么解释怎么写?

  这是16位CRC校验吧,这里的寄存器是用来放校验值的,可以如下定义:

  int crc = 0xFFFF;

  java中CRC算法是个什么东东

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

  package com.wms.serial;

  /**

  * @author linduo

  * @version 2006/08/25

  */

  public class CRC16{

  public int value;

  public CRC16()

  {

  value = 0;

  }

  /** update CRC with byte b */

  public void update(byte aByte)

  {

  int a, b;

  a = (int) aByte;

  for (int count = 7; count =0; count–) {

  a = a 1;

  b = (a 8) 1;

  if ((value 0x8000) != 0) {

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

  } else {

  value = (value 1) + b;

  }

  }

  value = value 0xffff;

包含java接收端crc16的词条

  return;

  }

  /** reset CRC value to 0 */

  public void reset()

  {

  value = 0;

  }

  public int getValue()

  {

  return value;

  }

  public static void main(String[] args) {

  CRC16 crc16 = new CRC16();

  byte[] b = new byte[]{

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

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

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

  ,(byte) 0x00,(byte)0x00

  };

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

  {

  crc16.update(b[k]);

  }

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

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

  }

  }

  package com.wms.serial;

  public class CRC162 {

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

  CRC162 crc16 = new CRC162();

  byte[] b = new byte[]{

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

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

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

  ,(byte) 0x00,(byte)0x00

  };

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

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

  byte[] b2 = new byte[]{

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

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

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

  ,(byte) 0x2f,(byte)0x49

  };

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

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

  }

  public short encode(byte[] b){

  short CRC_x = 0;

  int pp = 65536; // 116;

  int pp2 = 69665; // (116) + (112) + (15) + 1

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

  for(int j=0;j8;j++){

  CRC_x = (short)((CRC_x1) + (((b[i]j)0x80)7));

  if((CRC_x/pp) == 1){

  CRC_x=(short)(CRC_x^pp2);

  }

  }

  }

  return CRC_x;

  }

  }

以上【 包含java接收端crc16的词条 】是嗨壳技术分享网(www.heikehao.com)编辑整理。嗨壳技术分享网包含技术投稿、C语言、Excel、Java、Linux、网络安全和账号安全等丰富的栏目,并分享一些互联网安全技术知识和安全防护经验,帮助网友注重网络安全,让网络安全不再是问题。

原创文章,作者:java,如若转载,请注明出处:https://www.heikehao.com/22675.html

(0)
javajava
上一篇 2022年6月21日
下一篇 2022年6月21日

相关推荐

  • 内存泄露java(内存泄露的直接表现)

    针对内存泄露java(内存泄露的直接表现)的内容, 嗨壳技术分享网今天给大家作出详细的解答吧!   本篇文章给大家谈谈内存泄露java,以及内存泄露的直接表现对应的知识点,希望对各…

    2022年1月6日
  • 服务器间文件传输java

    针对服务器间文件传输java的内容, 嗨壳技术分享网今天给大家作出详细的解答吧!   java编程,两台服务器互相发送流文件,用什么方式好   使用Socket可以做到,不过直接编…

    2020年1月5日
  • java定时任务负载均衡

    java定时任务负载均衡   负载均衡下定时任务多节点执行时的重复怎么解决   建议在你们的业务数据里找一个比较特别的字段,做分组,两个job分别取不同分组的执行,这样就不会乱了。…

    2020年8月28日
  • 常见的java问题,java经典问题

    今天,嗨壳技术分享网给大家整理一些常见的java问题,java经典问题内容。   Java面试有哪些问题?   1、有哪些不同的线程生命周期?当我们在Java程序中新建一个线程时,…

    2020年6月13日
  • 包含effectiveinjava的词条

    今日,嗨壳技术分享网小编分享包含effectiveinjava的词条 相关内容,内容如下。   本篇文章给大家谈谈effectiveinjava,以及对应的知识点,希望对各位有所帮…

    2020年10月2日
  • 邯郸java工程师招聘-邯郸项目经理招聘

    今天,嗨壳技术分享网给大家整理一些邯郸java工程师招聘-邯郸项目经理招聘内容。   邯郸学院软件职业技术学院简介   邯郸学院软件职业技术学院隶属于邯郸学院,是邯郸学院在传统专科…

    2020年1月6日
  • 爬虫用java还是python,爬虫跟java哪个好

    今日,嗨壳技术分享网小编分享爬虫用java还是python,爬虫跟java哪个好 相关内容,内容如下。   学Java好还是学Python好?   Java作为发展已经很成熟的编程…

    2020年1月12日
  • 包含java0x4的词条

    今天,嗨壳技术分享网给大家整理一些包含java0x4的词条内容。   java字节码的魔数是0xCAFEBABE,为什么是4字节,而不是8字节   1、所以,0x80 本来是整数的…

    2020年2月15日
  • 学习一些基础的黑客技术,黑客必学知识

    针对学习一些基础的黑客技术,黑客必学知识的内容, 嗨壳技术分享网今天给大家作出详细的解答吧!   黑客入门教程   1、成为黑客的基础入门需要学习计算机编程、网络技术、操作系统、加…

    2020年11月2日
  • 包含学通javaweb的24堂课的词条

    针对包含学通javaweb的24堂课的词条的内容, 嗨壳技术分享网今天给大家作出详细的解答吧!   如何学好java语言啊?   建议一:有系统的学习方案,系统的学习教程,先把Ja…

    2023年10月31日

网上怎么找黑客帮忙多少钱

怎么网上找到的黑客?黑客的收费标准是什么呢?找黑客一般费用是多少?


找黑客帮忙一般要多少钱

黑客服务的价格范围很广,主要取决于服务的类型和难度。根据提供的信息如下:


1.攻击服务:


攻击范围:这包括了通过扫描入侵、种植木马等方式对他人计算机实施非法控制,并利用被控制的计算机对网站、App等服务器发起攻击


。1

2.特定账户的售价:


账户信息:如垂钓者、而勒索软件,显示市场对特定黑客工具的需求和价格波动。

3.攻击工具:

“RIG”攻击工具包的租用费用,提供了不同时长的选择。

4.远程访问木马(RAT)的价格:

相比去年有所下降,显示出市场价格的波动。

5.DDOS攻击的报价:

DDOS攻击服务按不同时长定价选择。

黑客服务的价格因服务类型、难度、以及市场需求的不同而有很大的差异。这些价格反映了黑客服务市场的复杂性和多样性,同时也提醒人们网络安全的重要性。