リモートWebサイトでPHPスクリプトを使用して自分自身を認証する必要があり、WebサイトでJSベースのRSA暗号化をパスワード用に使用します。ここでは、ウェブサイトからのコードは次のとおりです。JavaScript RSA暗号化とPHP
function rsa_encrypt(strPlainText) {
var strModulus = "some_random_string";
var strExponent = "10001";
var rsa = new RSAKey();
rsa.setPublic(strModulus, strExponent);
var res = rsa.encrypt(strPlainText);
if (res) {
return res;
}
return false;
}
は、このウェブサイト上のトピックの多くをブラウズされ、推奨される方法は、(別の1があるなら、私に知らせて)phpseclibを使用することであることがわかりました。しかし、http://phpseclib.sourceforge.net/rsa/examples.html#encrypt,enc2の基本的な例を使用すると、空のページだけが得られます。私はsome_random_string
を$rsa->loadKey('...');
に入力しました。しかし、この例ではstrExponent
(10001)と入力する場所が見つかりません。
だから私は別のソリューションを試みた - Encrypt and Decrypt text with RSA in PHPをし、次のことを見て自分のコードを変更:
include('Crypt/RSA.php');
$privatekey = "some_random_string";
$rsa = new Crypt_RSA();
$rsa->loadKey($privatekey);
$plaintext = new Math_BigInteger('10001');
echo $rsa->_exponentiate($plaintext)->toBytes();
しかし、私はこのエラーを取得:
Fatal error: Call to a member function abs() on null in Math\BigInteger.php on line 1675
溶液はいくつかの時間前に投稿されましたので、私はこの間にphpseclibライブラリで何か変わったと思うし、自分のコードをどのように変更するか分からない。