2013-05-30 5 views
0

Мне нужно иметь возможность шифровать небольшой хэш на PHP и позже расшифровать его на C#, чтобы сравнить хэш с данными. Так что да, он используется в качестве подписи для проверки происхождения данных.C# RSA Decryption с открытым ключом - Bouncy Castle

Что у меня возникли проблемы с является (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.
  • Дешифровка с загруженным открытым ключом

я пытался в течение более суток, сейчас и нужно помочь с этим.

Спасибо.

ответ

Смежные вопросы