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