[英]RSA Decryption on PHP
我正在尝试在 PHP 上使用 RSA,到目前为止我不确定我做错了什么。 所以基本上,我有一个从站点获得的 RSA 加密字符串,然后我检查它是否与public_key
相同。
require_once 'vendor/autoload.php';
$rsa = new \phpseclib\Crypt\RSA();
$secure_signature = urldecode(*<base64 encoded signature>*);
$decodedSig = base64_decode($secure_signature);
$public_key = *<base64 encoded key>*;
$rsa->loadKey($public_key);
$res = $rsa->decrypt($decodedSig);
echo $res;
我遇到了一个错误,上面写着Decryption error
。 然后我查看了其他 RSA 公钥,注意到它的前面和结尾分别有----BEGIN PUBLIC KEY----
和----END PUBLIC KEY----
文本.
所以我改变了我的$public_key
的值。
$public_key = "---BEGIN PUBLIC KEY----\n*<base64 encoded key>*----END PUBLIC KEY----";
之后,它不会显示任何错误,但也不会显示任何内容。 我怎么知道我这样做是否正确? 我错过了什么吗?
我经历过这个。 如果您碰巧 var_dump 解密方法响应,那么您将得到 bool(false) 或 NULL。 通知加密过程,即它的加密方式与解密过程不匹配。 因此这个问题。 检查您的加密和解密步骤/过程。 看看区别。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.