簡體   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