【问题标题】:C# RSA Decryption with Public Key - Bouncy Castle使用公钥的 C# RSA 解密 - 充气城堡
【发布时间】:2013-05-25 12:35:31
【问题描述】:

我需要能够在 PHP 中加密一个小散列,然后在 C# 中解密它以将散列与数据进行比较。所以是的,它被用作验证数据来源的签名。

我遇到的问题是 (A) 加载密钥 (B) 用公钥解密

使用RSACryptoServiceProvider,我可以简单地加载密钥,但它不支持使用公钥解密。

我尝试过使用 Bouncy Castle,但找不到任何简单的示例来说明如何加载密钥和解密。

我可以获得以下任何格式的密钥副本:

CRYPT_RSA_PUBLIC_FORMAT_RAW
CRYPT_RSA_PUBLIC_FORMAT_PKCS1_RAW
CRYPT_RSA_PUBLIC_FORMAT_OPENSSH
CRYPT_RSA_PUBLIC_FORMAT_PKCS1

我用于加密的 PHP 代码很简单,而且工作愉快。

<?php
include 'PHPSecLib/Crypt/RSA.php';
$privatekey = file_get_contents('privatekey.txt');
$rsa = new Crypt_RSA();
$rsa->loadKey($privatekey);
$cipher = $rsa->encrypt("simple hash");
file_put_contents('cipher.txt', ($cipher));

我在 C# 中需要的只是一种简单的方法

  • 从前面提到的任何格式或RSACryptoServiceProvider XML 格式的字符串/文件中加载公钥。
  • 使用加载的公钥解密

我已经尝试了一天多,在这方面需要帮助。

谢谢。

【问题讨论】:

    标签: c# encryption rsa bouncycastle


    【解决方案1】:

    正如您提到的,您正在尝试使用 RSA 验证签名。所以这应该是你搜索的内容。这里有几个链接说明了如何:

    【讨论】:

      猜你喜欢
      • 2015-08-09
      • 2015-06-07
      • 2016-08-10
      • 2017-08-21
      • 1970-01-01
      • 2014-09-19
      • 2015-06-29
      • 2011-06-11
      • 2015-04-26
      相关资源
      最近更新 更多