Messieurs bonjour
Je me retrouve confronte a une fonction de hachage avec un srand
Rien de bien compliqué jusque la, sauf que je me suis littéralement pris la tête pendant plusieurs heures a cause d'une chose dont je n'est pas la réponse.
Peut etre qu'une ame (un cerveau) charitable pourrais m' eclairsir
Prenons le code php suivant:
<?php
srand(3284724);
echo(rand(0, 255)); echo "\n";
echo(rand(0, 255)); echo "\n";
echo(rand(0, 255)); echo "\n";
echo(rand(0, 255)); echo "\n";
echo(rand(0, 255)); echo "\n";
?>
l'initialisation par srand devrait me retourner certes des valeurs différentes sur chaque lignes (comme le stipule la
doc srand), mais devrait retourner toujours les même valeurs a chaque exécution du script.
Jusque la tout va bien,
Incompréhension étant au niveau du moteur php.
En phpcli (PHP 7.1.3 (cli) (built: Mar 17 2017 16:59:59) ( NTS ), le code ci dessus me retourne:
154 251 74 124 83
Et par un explorateur sur server (Apache httpd 2.4.10 - PHP 5.6.30-0+deb8u1), le même code me retourne:
107 183 99 223 226
En écrivant ce post, je vois la coquille.... la version php n'est pas la meme
. et effectivement, en phpcli sur le serveur avec php 5.6 le retour est le même:
107 183 99 223 226
Cela voudrait il dire que la fonction srand a été modifiée entre php 5.6 et php 7!!!!
Moralité, toujours debugger / comprendre / reverser un code AVEC LE MÊME ENVIRONNEMENT!
Mais bon, quelqu'un aurait une explication?, un lien... avons nous nous un développeur php dans le coin qui pourrait expliquer la chose?!
ITPPA