Проблема с RSA-шифрованием строки в PHP и передачей ее в службу .NET - PullRequest
1 голос
/ 24 апреля 2010

Мне нужно вызвать веб-сервис, который требует URL-адрес входа, содержащий зашифрованные RSA, base_64 и url-кодированные данные для входа. У меня нет формального обучения php, но даже для меня это кажется легкой задачей, однако при вызове службы я получаю ответ «Неверный формат». Что я делаю не так и есть ли другой способ придумать зашифрованную строку? Пример кода ниже. Спасибо за вашу помощь!

require 'rsa.php'; // Uses rsa.php from http://www.edsko.net/misc/ for encryption.

$message = '?id=112233&param1=hello&email=hello@world.net&name=Name';

$keyLength = '2048';
$exponent = '65537';
$modulus = '837366556729991345239927764652........';
$encryptedData = rsa_encrypt($message, $exponent, $modulus, $keyLength);
$data = urlencode(base64_encode($encryptedData));

$loginurl = 'http://www.somedomain.com/LoginWB.aspx?Id=9876&Data='.$data;
echo '<iframe src="'.$loginurl.'" width="570px" height="800px">';
echo '</iframe>';

1 Ответ

0 голосов
/ 24 апреля 2010

Шифрование выглядит правильно для меня. Вы уверены, что сервер не жалуется на '?' в $message?

Если вы заботитесь о производительности, вы должны использовать расширения openssl. Операции с открытым ключом в PHP очень медленные.

...