Example #1
0
 function misc_related_string_id($s)
 {
     $t = misc_get_keywords($s, 0);
     // isalnum
     $a = explode(' ', $t);
     usort($a, 'misc_related_string_id_sort');
     // fabricate 32bit id from 4 longest keywords
     $id = 0;
     for ($i = 0; isset($a[$i]) && $i < 4; $i++) {
         $id <<= 8;
         $id |= misc_crc8($a[$i]) & 0xff;
     }
     return $id & 4294967295.0;
 }
Example #2
0
<?php

function misc_crc8($s, $crc = 0)
{
    $polynomial = 0x1070 << 3;
    $len = strlen($s);
    for ($i = 0; $i < $len; $i++) {
        $crc ^= ord($s[$i]);
        $crc <<= 8;
        for ($j = 0; $j < 8; $j++) {
            if (($crc & 0x8000) != 0) {
                $crc ^= $polynomial;
            }
            $crc <<= 1;
        }
        $crc = $crc >> 8 & 0xff;
    }
    return $crc;
}
echo sprintf("%x", misc_crc8("test"));