2011-12-12 186 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,它的作品完美:)