繁体   English   中英

PHP 上的 RSA 解密

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM