Tag: crc32

如何在C#中将CRC32计算为有符号整数?

我是一名PHP开发人员,并且在C#中有点偏离我的元素。 在PHP中,有一个crc32()函数 ,它为您传入的任何字符串返回有符号整数。 所以这就是我习惯的: <?php echo crc32("test"); // displays -662733300 我想在C#中做同样的事情。 我遇到了这个C#类库,但对它知之甚少。 根据他的指示,我应该这样做: // first convert string to byte-array String input = “test”; byte[] bytes = new byte[input.length * sizeof(char)]; System.Buffer.BlockCopy(input.ToCharArray(), 0, bytes, 0, bytes.Length); // then calculate the value Crc32 crc32 = new Crc32(); String output = “”; foreach (byte b in crc32.ComputeHash(bytes)) { […]

crc32解密短字符串

我正在检索包含文件名称的crc32哈希列表,而不是内容。 我需要能够解密像“vacationplans_2010.txt”这样的哈希名称的字符串 长度不到25个字符。 这可能吗?

为什么C#中的CRC32实现如此之慢?

我正在使用以下函数来计算VS2008,.NET 3.5项目中文件的CRC32: public UInt32 ComputeHash(System.IO.Stream stream) { unchecked { const int BUFFER_SIZE = 1024; UInt32 crc32Result = 0xFFFFFFFF; byte[] buffer = new byte[BUFFER_SIZE]; int count = stream.Read(buffer, 0, BUFFER_SIZE); while (count > 0) { for (int i = 0; i > 8) ^ _crc32Table[(buffer[i]) ^ (crc32Result) & _LOOKUP_TABLE_MAX_INDEX]; } count = stream.Read(buffer, 0, BUFFER_SIZE); } […]

我的CRC64校验和编码需要CRC反向代码

有人可以用C#编码CRC64反向算法吗? 我无法编码,无法理解任何事情。 谢谢, 我从C ++复制了CRC64校验和代码并将其转换为C#.NET。 整个代码显示如下: using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace CRC64 { public class cCRC64 { public UInt64[] crc64_table = { 0x0000000000000000, 0x42F0E1EBA9EA3693, 0x85E1C3D753D46D26, 0xC711223CFA3E5BB5, 0x493366450E42ECDF, 0x0BC387AEA7A8DA4C, 0xCCD2A5925D9681F9, 0x8E224479F47CB76A, 0x9266CC8A1C85D9BE, 0xD0962D61B56FEF2D, 0x17870F5D4F51B498, 0x5577EEB6E6BB820B, 0xDB55AACF12C73561, 0x99A54B24BB2D03F2, 0x5EB4691841135847, 0x1C4488F3E8F96ED4, 0x663D78FF90E185EF, 0x24CD9914390BB37C, 0xE3DCBB28C335E8C9, 0xA12C5AC36ADFDE5A, 0x2F0E1EBA9EA36930, 0x6DFEFF5137495FA3, 0xAAEFDD6DCD770416, 0xE81F3C86649D3285, 0xF45BB4758C645C51, 0xB6AB559E258E6AC2, 0x71BA77A2DFB03177, 0x334A9649765A07E4, 0xBD68D2308226B08E, […]

反转CRC32

我找到了一个代码来反转CRC32,但我不知道它是如何工作的,因为我在编程方面不是那么好,我刚刚开始。 我只想比较2个文件,旧的和新的,然后在新修复CRC32在文件的末尾添加4个字节,因此2个文件将具有相同的CRC32。 这是代码,在C#中: public class Crc32 { public const uint poly = 0xedb88320; public const uint startxor = 0xffffffff; static uint[] table = null; static uint[] revtable = null; public void FixChecksum(byte[] bytes, int length, int fixpos, uint wantcrc) { if (fixpos + 4 > length) return; uint crc = startxor; for (int i = […]

如何计算C#.net文件的CRC值?

我想在C#.net中使用32位算法计算文件的CRC值….

是否可以在拆分中进行CRC-32计算?

我使用这个简单的函数来计算给定文件的CRC校验和: long i, j = 0; int k = 0; uint crc = 0xFFFFFFFF; FileInfo file_info = new FileInfo(file); byte[] file_buffer = new byte[32768]; FileStream file_stream = new FileStream(@file, FileMode.Open); while ((i = file_stream.Read(file_buffer, 0, file_buffer.Count())) > 0) { for (j = 0; j > 8) & 0x00FFFFFFL) ^ crc32_table[k]; crc = after; uint test […]