我需要能够在 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 格式的字符串/文件中加载公钥。- 使用加载的公钥解密
我已经尝试了一天多,需要帮助。
谢谢。