Véritable valeur aléatoire

Véritable valeur aléatoire - PHP - Programmation

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 ?

Reply

Marsh Posté le 07-07-2008 à 20:48:52   

Reply

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.
 :jap:  


Message édité par Profil supprimé le 07-07-2008 à 21:11:48
Reply

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).


---------------
Directeur Technique (CTO)
Reply

Marsh Posté le 08-07-2008 à 08:28:57    

Reply

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 :
  1. $rand = substr(md5(rand(99, 999999)),0,10);


Message édité par bricocoman le 08-07-2008 à 10:03:30
Reply

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 :)


---------------
NewsletTux - outil de mailing list en PHP MySQL
Reply

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 !!!

Reply

Marsh Posté le 09-07-2008 à 09:43:08    

Reply

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  :whistle:  


---------------
NewsletTux - outil de mailing list en PHP MySQL
Reply

Marsh Posté le 09-07-2008 à 19:02:34    


 :D  merci

Reply

Marsh Posté le 09-07-2008 à 19:02:34   

Reply

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 :o

Reply

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...


Message édité par Aguila_73 le 13-07-2008 à 15:39:06
Reply

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

Reply

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.

Reply

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.
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.


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

Reply

Marsh Posté le 21-07-2008 à 14:04:07    

Taz a écrit :


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


oui, il faudrait un devrand qui est dispo sous linux et qui donne un aléatoire matériel.

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed