reverse CRC16 with some minor changes, extremely fast for a user code hashing algorithm.

PHP Code: 
/* reverse CRC16 */
    
function rCRC16($d)
    {
        if(empty(
$d)) return 0;
        
$crc 0xFFFF;
        for (
$i = (strlen($d)-1); $i ; --$i)
        {
            
$x = (($crc >> 8) ^ ord($d[$i])) & 0xFF;
            
$x ^= $x >> 4;
            
$crc = (($crc << 8) ^ ($x << 12) ^ ($x << 5) ^ $x) & 0xFFFF;
        }
        return 
$crc;
    } 
Fits inside an unsigned small integer in mysql (2 bytes / 16 bits)
SplitIce Reviewed by SplitIce on . [PHP] 16bit hashing algo reverse CRC16 with some minor changes, extremely fast for a user code hashing algorithm. /* reverse CRC16 */ function rCRC16($d) { if(empty($d)) return 0; $crc = 0xFFFF; for ($i = (strlen($d)-1); $i ; --$i) { Rating: 5