1  2 17 28 44    1

<?php


/**
 * Générateur de nombres aléatoires utilisant l'algorithme SHA1 sur lui-même.
 *
 * @param $int_minimum - integer - intevale
 * @param $int_maximum - integer - intevale
 * @return int - retourne un entier aléatoire dans l'intervale demandé ou un int sinon.
 */
function sha_rand($int_minimum = NULL, $int_maximum = NULL)
{
    
// On génère une seed.
    
static $arr_raw_nombre, $int_index;
    if (!
$arr_raw_nombre)
    {
        
$arr_raw_nombre = sha1(uniqid(mt_rand(), TRUE).microtime().mt_rand(), TRUE);
        
$int_index      = 0;
    }
    
// On regénère le hash que l'on applique à lui-même.
    
if ($int_index == 5)
    {
        
// Le sha1 renvoie 160 bits soit 5 mots de 32 bits.
        
$arr_raw_nombre  = sha1($arr_raw_nombre, TRUE);
        
$int_index       = 0;
    }
    
// On extrait une valeur (aléatoire) du hash.
    
$int_valeur_aleatoire = substr($arr_raw_nombre, 4 * $int_index, 4);
    
$int_valeur_aleatoire = unpack('L', $int_valeur_aleatoire);
    
$int_valeur_aleatoire = reset($int_valeur_aleatoire);
    
$int_index++;
    
// On gère l'intervale demandé.
    
if (!is_null($int_minimum) && !is_null($int_maximum))
    {
        if (
$int_minimum <= $int_maximum)
        {
            
$int_valeur_aleatoire = $int_minimum + abs($int_valeur_aleatoire) % abs($int_maximum - $int_minimum + 1);
        }
    }

    return 
$int_valeur_aleatoire;
}


$arr_int_nombre = array();
foreach(
range(1, 5) as $z)
{
    do
    {
        
$int_nombre = sha_rand(1, 49);
    }
    while (
in_array($int_nombre, $arr_int_nombre));
    
$arr_int_nombre[] = $int_nombre;
}
sort($arr_int_nombre, SORT_NUMERIC);

echo 
'<table style="font-family:monospace"><tr>';
foreach (
$arr_int_nombre as $int_nombre)
{
    
$int_nombre = str_pad($int_nombre, 3, ' ', STR_PAD_LEFT);
    
$int_nombre = str_replace(' ', '&nbsp;', $int_nombre);
    echo 
'<td>'.$int_nombre.'</td>';
}
$int_nombre = sha_rand(1, 10);
$int_nombre = str_pad($int_nombre, 5, ' ', STR_PAD_LEFT);
$int_nombre = str_replace(' ', '&nbsp;', $int_nombre);
echo 
'<td><b>'.$int_nombre.'</d></td>';

echo 
'</tr></table>';

echo 
'<hr />';
highlight_file(__FILE__);