KnowledgeHub
Questions
Tags
Users
Search
Alex Rivera
|
Logout
Edit Question
Title
Body
I'm looking for a Perl string checksum function with the following properties: Input: Unicode string of undefined length ( $string ) Output: Unsigned integer ( $hash ), for which 0 <= $hash <= 2^32-1 holds (0 to 4294967295, matching the size of a 4-byte MySQL unsigned int) Pseudo-code: sub checksum { my $string = shift; my $hash; ... checksum logic goes here ... die unless ($hash >= 0); die unless ($hash <= 4_294_967_295); return $hash; } Ideally the checksum function should be quick to run and should generate values somewhat uniformly in the target space ( 0 .. 2^32-1 ) to avoid collisions. In this application random collisions are totally non-fatal, but obviously I want to avoid them to the extent that it is possible. Given these requirements, what is the best way to solve this?
Tags (comma-separated)
Save Edits
Cancel