kod python
#!/usr/bin/env python
#coding=utf-8
teks = 'odd9xifHtMbFIDSY'
pubKey = '010001'
modulus = '00e0b509f6259df8642dbc35662901477df22677ec152b5ff68ace615bb7b725 152b3ab17a876aea8a5aa76d2e417629ec4ee341f56135fccf695280104e0312e cbda92557c93870114af6c9d05c4f7f0c3685b7a46bee255932575cce10b424d8 13cfe4875d3e82047b97ddef52741d546b8e289dc6935b3ece0462db0a22b8e7'
teks = teks[::-1]
rs = int(text.encode('hex'), 16)**int(pubKey, 16)%int(modulus, 16)
r = format(rs, 'x').zfill(256)
cetak r
Saya cuba menulis php sendiri, tetapi gagal. Tolong bantu saya menganalisis sebab tertentu.
$text = 'odd9xifHtMbFIDSY';
$pubKey = '010001';
$modulus = '00e0b509f6259df8642dbc35662901477df22677ec152b5ff68ace615bb7b725 152b3ab17a876aea8a5aa76d2e417629ec4ee341f56135fccf695280104e0312e cbda92557c93870114af6c9d05c4f7f0c3685b7a46bee255932575cce10b424d8 13cfe4875d3e82047b97ddef52741d546b8e289dc6935b3ece0462db0a22b8e7';
$_teks = strrev($teks);
// Tukar perenambelasan kepada perpuluhan
$biText = intval(bin2hex($_text),16);
$biEx = intval($pubKey, 16);
$biMod = intval($modulus, 16);
// Petak pertama, kemudian ambil modulo, dan kemudian tukar kepada perenambelasan
$biRet = dechex(fmod(pow($biText,$biEx), $biMod));
// Tukar perpuluhan kepada perenambelasan,
while(strlen($biRet) < 256){
$biRet = '0' .
}
echo $biRet;
Nilai maksimum yang ditukar oleh intval ialah 9223372036854775807.
$biText
dan$biMod
adalah sama dan semuanya sama dengan nilai maksimum.
$biRet ='NAN', anggaran pengiraan berada di luar julat.
< /p>
https://github.com/phpmath/bi...
phpbigint boleh tengok