小编Joe*_*l D的帖子

用openssl_seal加密的php数据.如何在c#中解码?

我在php应用程序和ac#程序之间传递一些数据(1-2MB).信息需要加密,我使用的是Rijndael加密,但加密速度非常慢.我试图在PHP端切换到openssl_seal并使其正常工作:

PHP代码

<!-- 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时遇到问题.

C#代码

<!-- 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)

php c# encryption openssl

6
推荐指数
1
解决办法
888
查看次数

狂饮5-在ServerException上获取响应正文

我正在使用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)

php guzzle

4
推荐指数
1
解决办法
1044
查看次数

标签 统计

php ×2

c# ×1

encryption ×1

guzzle ×1

openssl ×1