2011-12-12 182 views
1

生成的消息我已经产生与加密++一个公共/私有密钥,并予编码与加密++(RSAES_OAEP_SHA_Encryptor)在客户端侧上的密码,然后我BASE64编码。现在,我想它在服务器端的PHP脚本(通过phpseclib)进行解码。私钥对格式“MIIEuwIBADANBgkqhkiG9w0BAQ ......”(没有休息),然后我格式化喜欢:RSA解密加密++在PHP

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

这似乎工作:与加载之前

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->setEncryptionMode(CRYPT_RSA_ENCRYPTION_OAEP); 
$plaintext = $rsa->decrypt(base64_decode($input)); 

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

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

任何想法?

回答

1

我正在使用0.2.2分配phpseclib,然后我尝试了SVN头phpseclib,它的作品完美:)