code python
#!/usr/bin/env python
#codage=utf-8
texte = 'impair9xifHtMbFIDSY'
clépub = '010001'
module = '00e0b509f6259df8642dbc35662901477df22677ec152b5ff68ace615bb7b725152b3ab17a876aea8a5aa76d2e417629ec4ee341f56135fccf695280104e0312 ecbda92557c93870114af6c9d05c4f7f0c3685b7a46bee255932575cce10b424d813cfe4875d3e82047b97ddef52741d546b8e289dc6935b3ece0462db0a22b8e7'
texte = texte[::-1]
rs = int(text.encode('hex'), 16)**int(pubKey, 16)%int(modulus, 16)
r = format(rs, 'x').zfill(256)
imprimer r
J'ai essayé d'écrire du php moi-même, mais j'ai échoué. Veuillez m'aider à analyser les raisons spécifiques.
$text = 'odd9xifHtMbFIDSY';
$pubKey = '010001';
$ module = '00e0b509f6259df8642dbc35662901477df22677ec152b5ff68ac BDA92557C93870114AF6C9D05C4F7F0C3685B7A46BEE255932575CCE10B424D 813CFE4875D3E82047B97DDEF52741D546B8E289DC6935B3ECE0462DB0A2222E7E7e ';
$_text = strrev($text);
// Convertit l'hexadécimal en décimal
$biText = intval(bin2hex($_text),16);
$biEx = intval($pubKey, 16);
$biMod = intval($modulus, 16);
// Premier carré, puis prendre le modulo, puis convertir en hexadécimal
$biRet = dechex(fmod(pow($biText,$biEx), $biMod));
// Convertit le décimal en hexadécimal,
tandis que(strlen($biRet) < 256){
$biRet = '0' .
}
echo $biRet;
La valeur maximale convertie par intval est 9223372036854775807.
$biText
et$biMod
sont égaux, et ils sont tous égaux à la valeur maximale.
$biRet ='NAN', l'estimation du calcul est hors plage.
< /p>
https://github.com/phpmath/bi...
phpbigint peut y jeter un oeil