vapmaster
@vapmaster

Аналог PHP функции openssl_public_decrypt() в C#?

С помощью openssl сгенерированы публичный и приватный ключи RSA 512.
Необходимо с помощью публичного ключа расшифровать на С# данные, зашифрованные приватным ключом на PHP.
Пример кода на PHP:
$dataForEncryption = "Somedata";

printf("Data for encryption: %s\r\n\r\n", $dataForEncryption);

$hash = hash("SHA1", $dataForEncryption, true);

printf("SHA1 (hex): %s\r\n\r\n", bin2hex($hash));
printf("SHA1 (base64): %s\r\n\r\n", base64_encode($hash));

openssl_private_encrypt($hash, $encrypted, openssl_get_privatekey($private_key));

printf("Encrypted data: %s\r\n\r\n", bin2hex($encrypted));
printf("Encrypted data: %s\r\n\r\n", base64_encode($encrypted));
$public_key = <<<SOMEDATA777
-----BEGIN PUBLIC KEY-----
MDwwDQYJKoZIhvcNAQEBBQADKwAwKAIhAM3FNB5qt30VNntSHy75M9A3mfi8xG1K
cz+4LKcZuQMLAgMBAAE=
-----END PUBLIC KEY-----
SOMEDATA777;

openssl_public_decrypt($encrypted, $decrypted, openssl_get_publickey($public_key));
printf("Decrypted data: %s\r\n\r\n", bin2hex($decrypted));


Результат выполнения скрипта:
Data for encryption: Somedata

SHA1 (hex): 13b05742beeaef568748ae6e7f40da744f4374f3

SHA1 (base64): E7BXQr7q71aHSK5uf0DadE9DdPM=

Encrypted data: 98e12894b164c700c26d04bca4a017191214460538b59b00ddff612732f7f94e

Encrypted data: mOEolLFkxwDCbQS8pKAXGRIURgU4tZsA3f9hJzL3+U4=

Decrypted data: 13b05742beeaef568748ae6e7f40da744f4374f3
  • Вопрос задан
  • 229 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы