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($key, 0, 8);
$hash = substr($key, 8);
$test_hash = strtoupper(substr(md5($secret . $date), 0, $size));
if ($hash == $test_hash) {
return mktime(0, 0, 0, substr($date, 4, 2), substr($date, 6, 2), substr($date, 0, 4));
}
return false;
}
$secret = 'secret word';
$validity = mktime(0, 0, 0, date("m"), date("d") + 1, date("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!");
}
?>