我在php应用程序和ac#程序之间传递一些数据(1-2MB).信息需要加密,我使用的是Rijndael加密,但加密速度非常慢.我试图在PHP端切换到openssl_seal并使其正常工作:
<!-- language: lang-php -->
str = 123;
$fp = fopen("/home/prod/publickey.pem", "r");
$cert = fread($fp, 8192);
fclose($fp);
$pk1 = openssl_get_publickey($cert);
openssl_seal($str, $sealed, $ekeys, array($pk1));
openssl_free_key($pk1);
$sealed = base64_encode($sealed);
$Xevk = base64_encode($ekeys[0]);
echo $Xevk."\n\n\n".$sealed;
Run Code Online (Sandbox Code Playgroud)
但我在尝试解密c#end时遇到问题.
<!-- language: c# -->
public static string DecryptSSL(string str) {
string[] strs = System.Text.RegularExpressions.Regex.Split(str, "\n\n\n");
X509Certificate2 myCert2 = null;
RSACryptoServiceProvider rsa = null;
try {
myCert2 = new X509Certificate2(Properties.Resources.mycertkey, "");
rsa = (RSACryptoServiceProvider)myCert2.PrivateKey;
} catch(Exception e) {
Console.WriteLine(e.Message);
}
byte[] xkey = rsa.Decrypt(Convert.FromBase64String(strs[0]), false); …Run Code Online (Sandbox Code Playgroud) 我正在使用Guzzle(最新版本5.2)对服务器进行POST调用。此服务器上的API返回“ HTTP / 1.1 500内部服务器错误”响应,但还返回正文。如何从异常中访问响应的正文?
以下是我使用curl -v执行POST时得到的结果:
* upload completely sent off: 826 out of 826 bytes
< HTTP/1.1 500 Internal Server Error
< Date: Tue, 24 Feb 2015 01:57:10 GMT
* Server Apache-Coyote/1.1 is not blacklisted
< Server: Apache-Coyote/1.1
< Content-Type: application/xml
< Content-Length: 154
< Connection: close
<
* Closing connection 0
<?xml version="1.0" encoding="UTF-8" standalone="yes"?><addressList xmlns:ns2="http://addresslistserver.c2m.com/"><status>9</status><lists/></addressList>
Run Code Online (Sandbox Code Playgroud)