파이썬 코드
<코드>#!/usr/bin/env 파이썬 #코딩=utf-8 텍스트 = 'odd9xifHtMbFIDSY' pubKey = '010001' 모듈러스 = '00e0b509f6259df8642dbc35662901477df22677ec152b5ff68ace615bb7b725152b3ab17a876aea8a5aa76d2e417629ec4ee341f56135fccf695280104e0312 ec bda92557c93870114af6c9d05c4f7f0c3685b7a46bee255932575cce10b424d813cfe4875d3e82047b97ddef52741d546b8e289dc6935b3ece0462db0a22b8e7' 텍스트 = 텍스트[::-1] rs = int(text.encode('hex'), 16)**int(pubKey, 16)%int(모듈러스, 16) r = 형식(rs, 'x').zfill(256) r을 인쇄하다
내가 직접 PHP를 작성하려고 했으나 실패했습니다. 구체적인 이유를 분석하도록 도와주세요.
$text = 'odd9xifHtMbFIDSY';
$pubKey = '010001';
$modulus = '00e0b509f6259df8642dbc35662901477df22677ec152b5ff68ace615bb7b725152b3ab17a876aea8a5aa76d2e417629ec4ee341f56135fccf695280104e031 2 ecbda92557c93870114af6c9d05c4f7f0c3685b7a46bee255932575cce10b424d 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' .
}
에코 $biRet;
intval로 변환된 최대값은 9223372036854775807입니다.
$biText
와$biMod
는 동일하며, 모두 최대값과 같습니다.
$biRet ='NAN', 계산 추정치가 범위를 벗어났습니다.
< /p>