Véritable valeur aléatoire - PHP - Programmation
Marsh Posté le 07-07-2008 à 20:59:25
http://fr2.php.net/srand
Tu peux te basé sur le microtime()
Mais créer du véritable hasard c'est pas vraiment simple :
Après il faut une limite à ton nombre, et il est "impossible" pour un programme de créer du hasard. Certains langages se basent sur PI par exemple, enfin je crois.
Marsh Posté le 07-07-2008 à 22:17:38
En tant que scientifique tu devrais savoir que le hasard n'existe pas (cause => conséquence).
Marsh Posté le 08-07-2008 à 10:02:23
créer su véritable hasard, c'est pas possible.
mais y'a pas mal de manière d'avoir des valeurs "aléatoires"
en général, j'utilise un truc du genre.
Si j'ai besoin d'une chaine "aléatoire" de 10 caractères par exemple, je fais ça :
Code :
|
Marsh Posté le 08-07-2008 à 12:56:19
tu peux aussi te servir de l'identifiant de session, en prenant des valeurs au hasard parmi celles qui le constituent, et dans un ordre aléatoire
Marsh Posté le 09-07-2008 à 09:12:52
Oui, en effet, avec un programme on peut pas vraiment, mais on peut récupérer des infos machine qui ne peuvent pas être connue par un client, car ça change toujours et ce n'est pas prévisible, alors que le microtime, c'est très facilement prévisible !!!
Marsh Posté le 09-07-2008 à 16:28:17
polo7 a écrit : alors que le microtime, c'est très facilement prévisible !!! |
d'où mon idée de l'identifiant de session
Marsh Posté le 09-07-2008 à 22:00:19
NewsletTux a écrit : tu peux aussi te servir de l'identifiant de session, en prenant des valeurs au hasard parmi celles qui le constituent, et dans un ordre aléatoire |
Tout ça restera toujours prédictable. Faut un générateur matériel si tu veux du vrai aléatoire
Marsh Posté le 13-07-2008 à 15:38:41
En effet, tu peux par exemple choper les déplacements de la souris, les concaténer, les envoyer via une méthode Ajax si tu tiens à traiter ton problème en Php, puis faire d'autres opérations avec substr, md5, time, etc...
Marsh Posté le 14-07-2008 à 00:00:23
CyberDenix a écrit : En tant que scientifique tu devrais savoir que le hasard n'existe pas (cause => conséquence). |
nan hein
Marsh Posté le 18-07-2008 à 20:54:37
merci pour vos suggestions, j'ai pris pris les variables client mélangée avec du rand(), ce sera suffisant pour ne pas avoir 2x le même md5.
Dommage qu'on ne puisse pas récupérer des valeurs matériels que seul le serveur peut connaître et qui n'est pas prévisible.
Marsh Posté le 19-07-2008 à 02:50:35
polo7 a écrit : merci pour vos suggestions, j'ai pris pris les variables client mélangée avec du rand(), ce sera suffisant pour ne pas avoir 2x le même md5. |
l'important c'est pas la source mais la qualité. ce qui est dommage c'est que php ne fournisse pas un PRNG plus sophistiqué que rand
Marsh Posté le 21-07-2008 à 14:04:07
Taz a écrit : |
oui, il faudrait un devrand qui est dispo sous linux et qui donne un aléatoire matériel.
Marsh Posté le 07-07-2008 à 20:48:52
Hello,
Y-a-t-il une fonction en PHP qui renvoie une véritable valeur aléatoire et pas du pseudo aléatoire ?