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.
# Controle de l'erreur.
Posté par gerald dumas . Évalué à 1.
# Entiers
Posté par Pascal Terjan (site web personnel) . Évalué à 3.
pow(76,6) est supérieur je pense à ce qui tient sur 32 bits...
Si tu as le module bc pour gerer les grands entiers, essaye bcmod et bcpow, ou plus implement et plus efficacement bcpowmod directement.
[^] # Re: Entiers
Posté par Dinofly (site web personnel) . Évalué à 1.
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.