真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

crc的java代碼實現(xiàn) crc編程實現(xiàn)

C++ c 版的CRC校驗uinit16轉為java版代碼編寫,結果轉為兩字節(jié)的16進制數(shù)怎么寫代碼

short city_com_get_crc(short[] pData, short length) {

目前創(chuàng)新互聯(lián)已為上1000家的企業(yè)提供了網(wǎng)站建設、域名、虛擬空間、網(wǎng)站托管運營、企業(yè)網(wǎng)站設計、四川網(wǎng)站維護等服務,公司將堅持客戶導向、應用為本的策略,正道將秉承"和諧、參與、激情"的文化,與客戶和合作伙伴齊心協(xié)力一起成長,共同發(fā)展。

short crc = 0, q;

short c, i;

for(i = 0; i length; i++) {

c = pData[i]; q = (crc ^ c) 0x0F;

crc = (crc 4) ^(q * 0x1081);

q = (crc ^(c 4)) 0xF0;

crc = (crc 4) ^(q * 0x1081);

}

return (((crc 8) 0xFF00) | ((crc 8) 0xFF));

}

隨便丟到哪個類里面吧。

把下面這段c語言的crc校驗 轉換成java的,麻煩了, 我是實在不會

unsigned short 都替換為int

unsigned int 也替換為int

unsigned char const *buf替換為byte[] buf

*buf++替換為buf[i]

用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);

}

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;

}

}

JAVA怎么做CRC校驗的程序

實現(xiàn)方法:最簡單的校驗就是把原始數(shù)據(jù)和待比較數(shù)據(jù)直接進行比較,看是否完全一樣這種方法是最安全最準確的。同時也是效率最低的。

應用例子:龍珠cpu在線調試工具bbug.exe。它和龍珠cpu間通訊時,bbug發(fā)送一個字節(jié)cpu返回收到的字節(jié),bbug確認是剛才發(fā)送字節(jié)后才繼續(xù)發(fā)送下一個字節(jié)的。 實現(xiàn)方法:在數(shù)據(jù)存儲和傳輸中,字節(jié)中額外增加一個比特位,用來檢驗錯誤。校驗位可以通過數(shù)據(jù)位異或計算出來。

應用例子:單片機串口通訊有一模式就是8位數(shù)據(jù)通訊,另加第9位用于放校驗值。

bcc異或校驗法(block check character)

實現(xiàn)方法:很多基于串口的通訊都用這種既簡單又相當準確的方法。它就是把所有數(shù)據(jù)都和一個指定的初始值(通常是0)異或一次,最后的結果就是校驗值,通常把它附在通訊數(shù)據(jù)的最后一起發(fā)送出去。接收方收到數(shù)據(jù)后自己也計算一次異或和校驗值,如果和收到的校驗值一致就說明收到的數(shù)據(jù)是完整的。

校驗值計算的代碼類似于:

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

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

適用范圍:適用于大多數(shù)要求不高的數(shù)據(jù)通訊。

應用例子:ic卡接口通訊、很多單片機系統(tǒng)的串口通訊都使用。 (Cyclic Redundancy Check)

實現(xiàn)方法:這是利用除法及余數(shù)的原理來進行錯誤檢測的

如何把下面這段c語言的crc8加密寫成java?

以下是我的分析,不知是否正確,你參考下

1、首先來看你打java代碼 :crc = (byte) ((crc 1) ^ 0x8c); 和?crc = (byte) (crc 1);?

導致這個問題是因為byte的最高位符號位,轉換的時候就出錯了

2、示例代碼:

package?com.test;

public?class?test?{

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

byte[]?ptr?=?{?1,?1,?1,?1,?1,?1?};

byte?res?=?getCrc(ptr);

System.out.println();

System.out.println((byte)(?(1??1)?^?0x8c?)?+?":"?+(?(1??1)?^?0x8c?)?);

}

public?static?byte?getCrc(byte[]?ptr)?{

int?crc?=?0;

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

crc?^=?ptr[i];

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

if?((crc??0x01)?!=?0)?{

crc?=?(crc??1)?^?0x8c;

}?else?{

crc?=?crc??1;

}

}

}

return?(byte)?crc;

}

}

求CRC-32/MPEG-2 的java實現(xiàn)

/******************************************************************************

* Name:? ? CRC-32/MPEG-2? x32+x26+x23+x22+x16+x12+x11+x10+x8+x7+x5+x4+x2+x+1

* Poly:? ? 0x4C11DB7

* Init:? ? 0xFFFFFFF

* Refin:? ?False

* Refout:? False

* Xorout:? 0x0000000

* Note:

*****************************************************************************/

uint32_t crc32_mpeg_2(uint8_t *data, uint_len length)

{

uint8_t i;

uint32_t crc = 0xffffffff;? // Initial value

while(length--)

{

? crc ^= (uint32_t)(*data++) 24;// crc ^=(uint32_t)(*data)24; data++;

? for (i = 0; i 8; ++i)

? {

? ? ? if ( crc 0x80000000 )

? ? ? ? ? crc = (crc 1) ^ 0x04C11DB7;

? ? ? else

? ? ? ? ? crc = 1;

? }

}

return crc;

}

————————————————

版權聲明:本文為CSDN博主「e1ki0lp」的原創(chuàng)文章,遵循 CC 4.0 BY-SA 版權協(xié)議,轉載請附上原文出處鏈接及本聲明。

原文鏈接:


當前題目:crc的java代碼實現(xiàn) crc編程實現(xiàn)
當前網(wǎng)址:http://weahome.cn/article/hjsosd.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部