求大侠将c#写的crc32算法改为java
//crc32校验public UInt32 CRC32(UInt32[] InputData, int len)
{
UInt32 dwPolynomial = 0x04c11db7;
UInt32 xbit;
UInt32 data;
UInt32 crc_cnt = 0xFFFFFFFF; // init
for (int i = 0; i < len; i++)
{
// xbit = 1 << 31;
xbit = 0x80000000;
data = InputData[i];
for (int bits = 0; bits < 32; bits++)
{
if ((crc_cnt & 0x80000000) > 0)
{
crc_cnt <<= 1;
crc_cnt ^= dwPolynomial;
}
else
crc_cnt <<= 1;
if ((data & xbit) > 0)
crc_cnt ^= dwPolynomial;
xbit >>= 1;
}
}
return crc_cnt;
}
//byte[]数组转化为UInt32[]数组
private UInt32[] ByteArrayToUInt32Array(byte[] bytes)
{
byte[] newbytes = new byte[bytes.Length + (4 - bytes.Length % 4)];
for (int i = 0; i < bytes.Length; i++)
newbytes[i] = bytes[i];
UInt32[] u32 = new UInt32[newbytes.Length / 4];
for (int i = 0; i < newbytes.Length / 4; i++)
u32[i] = System.BitConverter.ToUInt32(newbytes, i * 4);
return u32;
} --------------------编程问答-------------------- 怎么没有人理俺呢 --------------------编程问答-------------------- 东西没啥深度,分数没啥搞头.
java 写的crc32网上一搜一大把,干嘛还费力从c#转? --------------------编程问答-------------------- 高手帮忙呀 --------------------编程问答-------------------- 把你的程序用.net来写吧。 --------------------编程问答-------------------- 这个转java很难吗?注意一下java中byte和int同.net中的异同就好了
补充:.NET技术 , C#