Studiati questo codice:

Codice PHP:
<?php

function generate_key($date$secret$size 4) {
    
$date date("Ymd"$date);
    
$hash strtoupper(substr(md5($secret $date), 0$size));
    return 
$date $hash;
}

function 
check_key($key$secret$size 4) {
    
$date substr($key08);
    
$hash substr($key8);
    
$test_hash strtoupper(substr(md5($secret $date), 0$size));
    if (
$hash == $test_hash) {
        return 
mktime(000substr($date42), substr($date62), substr($date04));
    }
    return 
false;
}

$secret 'secret word';

$validity mktime(000date("m"), date("d") + 1date("Y")); // tomorrow
$key generate_key($validity$secret);
$date check_key($key$secret);
if (
$date !== false) {
    echo(
"The code is valid up to " date("d/m/Y"$date) . "!");
} else {
    echo(
"The code is invalid!");
}

?>