Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Reversing CRC32

I'm looking for a way to reverse a CRC32 checksum. There are solutions around, but they are either badly written, extremely technical and/or in Assembly. Assembly is (currently) beyond my ken, so I'm hoping someone can piece together an implementation in a higher level language. Ruby is ideal, but I can parse PHP, Python, C, Java, etc.

Any takers?

like image 997
pat Avatar asked Oct 03 '09 15:10

pat


People also ask

Can a CRC32 be reversed?

A CRC32 is only reversible if the original string is 4 bytes or less.

What does CRC32 return?

Return type The CRC32 function returns an 8-character string that is a text representation of the hexadecimal value of a 32-bit binary sequence.

Is CRC32 fast?

It's reasonably fast (375 MByte/s on my computer) and comes with only a small memory overhead. Often the look-up table isn't pre-computed at runtime but rather stored as a large table in the C code.

What is CRC32 checksum?

CRC32 is a popular checksum algorithm used to detect data corruption. Multiple variants of the algorithm exist which have similar mathematical properties.


1 Answers

A CRC32 is only reversible if the original string is 4 bytes or less.

like image 78
Cade Roux Avatar answered Sep 22 '22 01:09

Cade Roux