C# 用公钥加密

C# 用公钥加密,c#,bouncycastle,C#,Bouncycastle,我试图在C#和PHP服务器之间使用RSA加密 我有php服务器生成的公钥/私钥 我已经用C写了这个# 这是工作 当我在php中使用EncryptedString时,我会设法解密这个字符串 <?PHP $privateKey = openssl_pkey_get_private(file_get_contents("./priv1024.key")); $publicKey = openssl_pkey_get_public(file_get_contents("./public1024.k

我试图在C#和PHP服务器之间使用RSA加密 我有php服务器生成的公钥/私钥

我已经用C写了这个#

这是工作 当我在php中使用EncryptedString时,我会设法解密这个字符串

<?PHP
$privateKey = openssl_pkey_get_private(file_get_contents("./priv1024.key"));
$publicKey = openssl_pkey_get_public(file_get_contents("./public1024.key"));
echo"<font red color='red'>";
$encryptedData=base64_decode("pj6y+qbCZM6arWYecOXGlnhziQg0w2BxzrmVJx4SV/28REzAV8hoQk/YtpWps7CNThgHdOhiEKYw8rHdP1TOjA0PsId2a2RPPx8MfywtGMQLUzj46gjTryvgGbuGb2EvNmrGvVaA/zgGCOPRDsbjW0S4fqQc2G2yldnKLfbACc0=");
openssl_private_decrypt($encryptedData, $plainTextData, $privateKey);
echo "<br /><br />Decrypted data using private key are : <br /> ";
echo $plainTextData;
echo "<br /><br />";
echo"</font>";
?>

你不是应该用公钥加密,用私钥解密吗?是的,这是我的问题。我尝试只使用“/public1024.key”文件(在我的C#代码中),但它在我的脑海中确实起作用,我从PEM中获取公钥,并使用它加密数据(将它们发送到php服务器)
<?PHP
$privateKey = openssl_pkey_get_private(file_get_contents("./priv1024.key"));
$publicKey = openssl_pkey_get_public(file_get_contents("./public1024.key"));
echo"<font red color='red'>";
$encryptedData=base64_decode("pj6y+qbCZM6arWYecOXGlnhziQg0w2BxzrmVJx4SV/28REzAV8hoQk/YtpWps7CNThgHdOhiEKYw8rHdP1TOjA0PsId2a2RPPx8MfywtGMQLUzj46gjTryvgGbuGb2EvNmrGvVaA/zgGCOPRDsbjW0S4fqQc2G2yldnKLfbACc0=");
openssl_private_decrypt($encryptedData, $plainTextData, $privateKey);
echo "<br /><br />Decrypted data using private key are : <br /> ";
echo $plainTextData;
echo "<br /><br />";
echo"</font>";
?>