Programmation.php : Modulo sur des gros nombres
Posté par Dinofly (page perso, ) le 01 décembre 2004
Bonjour,
J'ai converti une fonction de chiffrement assez basique du Javascript vers le PHP, mais les résultats ne sont pas ceux que j'attends.
Il semble que PHP ait des difficultés pour calculer un modulo sur des grands nombres.
Voici l'extrait qui pose problème:
Javascript
PHP
Avec les valeurs suivantes:
M = 76
e = 7
N = 306353
PHP me retourne -259931.
Javascript me retourne 129131.
Alors la question est: j'ai fait une connerie quelque part ou c'est un bug de PHP ?
Merci d'avance pour vos réponses éclairées.
J'ai converti une fonction de chiffrement assez basique du Javascript vers le PHP, mais les résultats ne sont pas ceux que j'attends.
Il semble que PHP ait des difficultés pour calculer un modulo sur des grands nombres.
Voici l'extrait qui pose problème:
Javascript
Math.pow(M, e) % N
PHP
pow($M, $e) % $N
Avec les valeurs suivantes:
M = 76
e = 7
N = 306353
PHP me retourne -259931.
Javascript me retourne 129131.
Alors la question est: j'ai fait une connerie quelque part ou c'est un bug de PHP ?
Merci d'avance pour vos réponses éclairées.
> Lire le message (3 commentaires, moyenne: 1,7).
Vous avez demandé le commentaire #504354.



Controle de l'erreur.
Selon la doc :
pow ne retourne qu'un integer. Vérifie si pow ne te renvoie pas FALSE ( ou NAN ) selon la version que tu utilises.