<?php

define
('MYSECRET','Some unguessable string');

function 
int2code ($i)
{
    
$md5 strtoupper(md5(MYSECRET.$i));
    
$mdStart substr($md5,  04);
    
$mdEnd   substr($md5284);
    return 
$mdStart.$i.$mdEnd;
}

function 
code2int ($code)
{
    
preg_match('/^([A-F0-9]{4})([0-9]+)([A-F0-9]{4})$/'$code$matches);
    
$i $matches[2];

    
$md5 strtoupper(md5(MYSECRET.$i));
    
$mdStart substr($md5,  04);
    
$mdEnd   substr($md5284);    
    if (
$mdStart.$i.$mdEnd==$code)
        return 
$i;

    return 
FALSE// Invalid code!
}

print 
int2code(145);
print 
code2int('02CB1458F20');

?>