最近想用 PHP 模拟登陆一个网站练手,但在Javascript中发现了如下RSA 公钥加密的function
function userLogin() {
var password = $("#password").val();
if(password.length != 256){
setMaxDigits(131);
var key = new RSAKeyPair("010001", '', "00b15fdee0d7ed06c21067d59e65031becca4c3eafe52d891725c75c37dac7ca2d");
var enpwd = encodeURIComponent(password);
var result = encryptedString(key, password);
$("#password").val(result);
}
Google 了一下,都用到了 OpenSSL,我试着用 PHP 写了
function rsa_encode($content)
{
$public_key = "-----BEGIN PUBLIC KEY-----\n00b15fdee0d7ed06c21067d59e65031becca4c3eafe52d891725c75c37dac7ca2d\n-----END PUBLIC KEY-----";
$openssl_public_encrypt = openssl_public_encrypt($str, $content, $public_key);
if (!$openssl_public_encrypt)
throw new \Exception('openssl_public_encrypt failed! ');
return $content;
}
提示“RSA 公钥不正确”,后来又去搜了一下,这样合成的 public_key 不符合 PKCS 标准,不知道下一步应该如何操作,感谢!