検索

ホームページ  >  に質問  >  本文

この Python を PHP に書き換えたいのですが、どうすれば壊れますか?解決する

#!/usr/bin/env Python
#coding=utf-8
テキスト = 'odd9xifHtMbFIDSY'
pubKey = '010001'
係数 = '00e0b509f6259df8642dbc35662901477df22677ec152b5ff68ace615bb7b725152b3ab17a876aea8a5aa76d2e417629ec4ee341f56135fccf695280104e0312 2557c93870114af6c9d05c4f7f0c3685b7a46bee255932575cce10b424d813cfe4875d3e82047b97ddef52741d546b8e289dc6935b3ece0462db0a22b8e7'
テキスト = テキスト[::-1]
rs = int(text.encode('hex'), 16)**int(pubKey, 16)%int(modulus, 16)
r = format(rs, 'x').zfill(256)
印刷する
$text = 'odd9xifHtMbFIDSY';
$pubKey = '010001';
$modulus = '00e0b509f6259df8642dbc35662901477df22677ec152b5ff68ace615bb7b725152b3ab17a876aea8a5aa76d2e417629ec4ee341f56135fccf695280104e031 da92557c93870114af6c9d05c4f7f0c3685b7a46bee255932575cce10b424d 813cfe4875d3e82047b97ddef52741d546b8e289dc6935b3ece0462db0a22b8e7';

$_text = strrev($text);

// 16進数を10進数に変換します
$biText = intval(bin2hex($_text),16);
$biEx = intval($pubKey, 16);
$biMod = intval($modulus, 16);

// 最初に二乗し、次にモジュロを求め、次に 16 進数に変換します
$biRet = dechex(fmod(pow($biText,$biEx), $biMod));


// 10 進数を 16 進数に変換し、
while(strlen($biRet) < 256){
    $biRet = '0' 。
}

echo $biRet;

intval で変換された最大値は 9223372036854775807 です。$biText $biMod は等しく、すべて最大値に等しいです。
$biRet ='NAN'、計算の推定値が範囲外です。

< /p>

天蓬老师天蓬老师2823日前586

全員に返信(1)返信します

  • 滿天的星座

    滿天的星座2017-05-16 13:03:43

    https://github.com/phpmath/bi...
    phpbigint をご覧ください

    返事
    0
  • キャンセル返事