RSA加密PHP中的字符串并将其传递给.NET服务的问题

时间:2010-04-24 15:40:04

标签: php encryption rsa

我需要调用一个Web服务,该服务需要一个包含RSA加密,base_64编码和url编码的登录数据的登录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 :(得分:0)

加密对我来说是正确的。你确定服务器没有抱怨'?'在$message

如果您关心性能,则应使用openssl扩展。 PHP中的公钥操作非常慢。