How to generate a Base36 quick code sequence using the SHA2 hash
On a 'slowish' 2GHz machine it can generate 20,000 quickcodes per minute. The spread of the resulting quickcodes is near-perfectly even, which means that substrings of the quickcode can be used to construct a hashed directory tree for holding, for example, the huge amount of product image files associated with a product catalog. Using a hashed directory tree is a quick and efficient method to host millions of separate files for quick, random access, as most file systems only perform optimally with less than 1,000 contained in a directory
This deterministic techique uses a hash of the sequential Integer Id of an item to generate a typical product quickcode for it, as found in many shopping catalogues. Example of how a quickcode is generated from its primary key integer Id:
- 1 => 8M9LFLN2
- 2 => HZ40H3K0
- 3 => 02LUJYQ2
You can download the Base36 Quickcode Generator test script, which demonstrates an implementation in Perl and MySQL.