当前位置:编程学习 > C#/ASP.NET >>

求大侠将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;
        } --------------------编程问答-------------------- 怎么没有人理俺呢 --------------------编程问答--------------------
引用 1 楼  的回复:
怎么没有人理俺呢
东西没啥深度,分数没啥搞头.
java 写的crc32网上一搜一大把,干嘛还费力从c#转? --------------------编程问答-------------------- 高手帮忙呀 --------------------编程问答-------------------- 把你的程序用.net来写吧。 --------------------编程问答-------------------- 这个转java很难吗?注意一下java中byte和int同.net中的异同就好了
补充:.NET技术 ,  C#
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,