1. 程式人生 > >java實現CRC16校驗碼生成

java實現CRC16校驗碼生成

public static String crc16(String gprsstr) {
		try {
			int crc;
			int strlength, r;
			byte sbit;
			int tc;
			strlength = gprsstr.length();
			byte[] data = gprsstr.getBytes();
			crc = 0x0000FFFF;
			for (int i = 0; i < strlength; i++) {
				tc = (int) (crc >>> 8);
				crc = (int) (tc ^ data[i]);
				for (r = 0; r < 8; r++) {
					sbit = (byte) (crc & 0x00000001);
					crc >>>= 1;
					if (sbit != 0)
						crc ^= 0x0000A001;
				}
			}
			return Integer.toHexString(crc);
		} catch (Exception ex) {
			return "";
		}
	}

相關推薦

java實現CRC16生成

public static String crc16(String gprsstr) { try { int crc; int strlength, r; byte sbit; int tc; strlength = gprsstr.len

java modbus crc16 socket給傳送的資料新增crc

首先crc16校驗碼的生成的原理在上一篇部落格裡面已經說過了; 前提:xframe配置京金華伺服器的埠號,繫結ip地址和埠號 程式要實現什麼? 這個程式主要實現的是伺服器傳送資料到客戶端,然後客戶端傳送資料到伺服器端; 是一問一答的形式; 只有伺服器傳送,客戶端才會應答 傳送

MD5檔案生成java程式碼

import java.io.File; import java.io.FileInputStream; import java.io.IOException; import java.io.InputStream; import java.nio.MappedByteBu

JAVA CRC16計算

package com.hcs.lqjc.controller.dongDaHengFeng.ModBus.utils; /** * @author lwt * @date 2018-06-26 * * CRC16校驗碼計算 * <p> * (1).

CRC16C語言實現

一、目的 闡述CRC16的原理,並以C語言程式碼實現。二、 校驗碼的作用 校驗碼用於校驗資料的有效性/正確性。 校驗碼用原資料生成,並伴隨原資料一起傳送/儲存,使用者拿到傳送/儲存的資料序列後,取出原資料部分,根據校驗碼生成規則生成校驗碼,與拿到的校驗碼進行比較即可判斷資料是

CRC16運算

CRC暫存器一開始填充為16位1111 1111 1111 1111 然後將CRC暫存器的低8位1111 1111與報文資料第一個八位資料進行異或運算,報文可以是主站傳送的功能碼,或者是從站反饋的功能碼。得出的8位資料結果與CRC校驗的高八位1111 1111合併,例如助手傳送的十進位制碼第

Java實現的二維生成和解析(QRCode方式)

1.背景        在Java實現的二維碼生成和解析(zxing方式)中採用的是谷歌裡的二維碼生成方式,在這裡將另外的一種二維碼生成方式記錄下來,以方便自己和其他需要的人。 2.二維碼 第一步:匯入相應的jar包。在http://downloa

Java實現的二維生成和解析(zxing方式)

一、匯入包。 在Maven中pom.xml中加入。 <dependency> <groupId>com.google.zxing</groupId> <artifactId>core</artifactId

java 實現CRC32

https://blog.csdn.net/yjk2515279130/article/details/46045939 實現了CRC32校驗,本來java那邊是很簡單的,直接用  java.util.zip.CRC32 這個類就可以了,可是如果要和Delphi那裡

CRC生成與資料原始碼程式 (包括CRC-4,5,6,7,8,16,32)

C程式碼 收藏程式碼 /******************************************************************** * Name: CRC-4/ITU x4+x+1 *

Java實現身份證演算法

public class ValidateNumberId { private static String[] validtable = {"1","0","X","9","8","7",

CRC查表法——表的由來及Java實現CRC8演算法

你也可以檢視我的其他同類文章,也會讓你有一定的收貨! 大概思路 我先說一下查表法,表的計算方法,以CRC4為例: 生成多項式:B = 10011B 測試資料:A = 0011 1110B 1、查表法實際上是利用XOR的交換律和結合律:(A X

java實現CRC16 MODBUS演算法

最近做通訊開發,遇到了校驗碼的問題 我在這個網站上試了試 裡面有各種crc16的校驗碼 廢話不多說,直接上程式碼 /** * 計算CRC16校驗碼 * * @param bytes * @return

集裝箱編號規則及java/JavaScript的實現

{       if ((str=="a")||(str=="A"))    return10;    elseif ((str=="b")||(str=="B"))    return12;        elseif ((str=="c")||(str=="C"))    return13;       

集裝箱編號規則及java程式的實現

由於工作原因要接觸到集裝箱編號,便了解了下集裝箱編號最後一位校驗位的規則順便寫了個程式實現,找了一批編號,驗證通過,貼出來做個記錄。 集裝箱校驗碼校驗規則: 集裝箱號由4位公司程式碼和7位數字組成(如CBHU3202732),其中第七位數字就是校驗碼。

Android MD5生成與演算法實現

在Java中,java.security.MessageDigest (rt.jar中)已經定義了 MD5 的計算,所以我們只需要簡單地呼叫即可得到 MD5 的128 位整數。然後將此 128 位計 16 個位元組轉換成 16 進製表示即可。      下面是一個可生成

CRC 實現生成和驗證

class CrcClass { static ushort[] crc_table = { 0x0000 , 0x1021 , 0x2042 , 0x3063 , 0x

MOD 10,11演算法(GB/T 17710-1999 資料處理 系統 )的Java實現

public static int GB17710_1011(String str) { char[] strTmp = str.toCharArray(); int[] aArray, pArray, sArray;

[技術棧]CRC原理及C#程式碼實現CRC16、CRC32計算FCS

1.CRC、FCS是什麼 CRC,全稱Cyclic Redundancy Check,中文名稱為迴圈冗餘校驗,是一種根據網路資料包或計算機檔案等資料產生簡短固定位數校驗碼的一種通道編碼技術,主要用來檢測或校驗資料傳輸或者儲存後可能出現的錯誤。它是利用除法及餘數的原理來作錯誤偵測的。 FCS,全稱Frame C

怎麼計算crc16資料的

第一、CRC-16校驗碼計算方法: 常用查表法和計演算法。計算方法一般都是: (1)、預置1個16位的暫存器為十六進位制FFFF(即全為1),稱此暫存器為CRC暫存器; (2)、把第一個8位二進位制資料(既通訊資訊幀的第一個位元組)與16位的CRC暫存器的低