繁体   English   中英

RSA用PHP解密Crypto ++生成的消息

[英]RSA decrypting Crypto++ generated message in PHP

我已经使用Crypto ++生成了一个公共/私有密钥对,并使用Crypto ++(RSAES_OAEP_SHA_Encryptor)在客户端编码了一个密码,然后对它进行了base64编码。 现在,我想在服务器端PHP脚本中解码它(通过phpseclib)。 私钥的格式为“ MIIEuwIBADANBgkqhkiG9w0BAQ ....”(不间断),然后将其格式化为:

static $BEGIN_MARKER = "-----BEGIN RSA PRIVATE KEY-----";
static $END_MARKER = "-----END RSA PRIVATE KEY-----";
$pem = $BEGIN_MARKER . "\n";
$pem .= chunk_split($key, 64, "\n");
$pem .= $END_MARKER . "\n";

在加载之前:

$rsa->loadKey($pem,CRYPT_RSA_PRIVATE_FORMAT_PKCS1);

这似乎有效。 但是通过以下方式解码消息:

$rsa->setEncryptionMode(CRYPT_RSA_ENCRYPTION_OAEP);
$plaintext = $rsa->decrypt(base64_decode($input));

产生一个空字符串。 没有错误。

我有一个类似的ASP.Net C#处理程序,可以毫无问题地解码消息...

有任何想法吗 ?

我使用的是phpseclib的0.2.2发行版,然后我尝试了phpseclib的SVN头,它工作得很好:)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

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