2

我有 public.key 和 private.key 这两个文件都包含字符串密钥。我已经在 PHP 中实现了加密和解密,请在下面添加代码。

现在我想在 c#(加密和解密)中做同样的事情,就像我用 php 实现的一样(方式应该是 openssl_public_encrypt 方法做的- 因为否则最后我把这个加密值作为发布请求发送,如果那个加密方法不匹配我在 php 中所做的方式会给出一个错误,说我的加密值错过了一些参数 - 意味着我的加密算法不正确)

我试过 boncycastle.crypto 但我认为算法不同,

这是php代码->

$sensitiveData = $this->merchantcode.'|'.$order_id.'|'.$amountInc.'|'.$this->returnurl;
$public_key ="uuEks4FXTiLU2obIpTNIpqhjgiUhtjW4Si8cKLoT7RThyOvUadsgYWejLg2i0BVz+
           QC6F7pilEfaVSL/UgGNeNdMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCW8KV72IMdhE/wIDAQAB";

 $public_key_splitted = wordwrap($public_key, 64, "\n", true); 

$publicKey = <<<EOD
-----BEGIN PUBLIC KEY-----
$public_key_splitted
-----END PUBLIC KEY-----
EOD;

$encrypted = '';
if (!openssl_public_encrypt($sensitiveData, $encrypted, $publicKey)) 
die('Failed to encrypt data'); 
$encryptedData = base64_encode($encrypted);

需要在c#中实现相同的功能请给出一些解决方案

谢谢你

4

0 回答 0