当
BigInteger
构造器是16岁
BigInteger
假设字符串是十六进制编码的数字。但是您的字符串不是十六进制编码的-它们是base64编码的。模量的第二个特征是
v
例如这不是有效的十六进制字符。尝试以下操作:
$rsa = new \phpseclib\Crypt\RSA();
$modulus = '3vDug4ykxU62V4fcIFMuqrd71H92LiyRhOsiNAMqRK40qj4RYdMIXYGmqZq7oBXJ3GNQEBNqZ2t4D5004wY35yPx6LVFU54No6SdoE4E1fUB5gLrLAUcil0b-k_KN9gJNndcfYyUIKwRJywUQda35pwiTI1tvE41_Lk6HGOLtSauh7ichwgghbCZFzc_Gx0XWrBUXWhYCCW2_CTPWWqfhNI7qMJvBqfmoOunMD_pIozrkGUx6dgaIjbaICBJCEheFFiwHqYRUOXHCHxsKRBzHx-5vlsedj5HnI3FMOF9yNbafwk_SfPZQrZC0T7OwQzOmj9IngRGOmg3lwuDlSCcwQ';
$exponent = 'AQAB';
$public = [
'n' => new \phpseclib\Math\BigInteger(base64_decode($modulus), 256),
'e' => new \phpseclib\Math\BigInteger(base64_decode($exponent), 256),
];
$rsa->loadKey($public);
$text = 'RohanSakhale';
$signature = $rsa->sign($text);
var_dump($signature);