Мне нужно вызвать веб-службу, для которой требуется URL-адрес для входа, содержащий зашифрованные RSA, закодированные в base_64 кодированные и URL-кодированные данные входа. У меня нет формального обучения php, но даже для меня это кажется легкой задачей, однако при вызове службы я получаю ответ «Недопустимый формат». Что я делаю неправильно, и есть ли другой способ придумать зашифрованную строку? Пример кода ниже. Спасибо за помощь!
require 'rsa.php'; // Uses rsa.php from http://www.edsko.net/misc/ for encryption. $message = '?id=112233¶m1=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>';
Шифрование выглядит корректно для меня. Вы уверены, что сервер не жалуется на '?' в $message
?
Если вам нужна производительность, вы должны использовать расширения openssl. Операции с открытым ключом очень медленны в PHP.