php - 更安全的加密方式

标签 php curl encryption paypal

my last question相关我有一个新的。

通过 https 发送加密数据的安全方法是什么。

  1. 使用 signAndEncrypt使用 openssl_pkcs7_encrypt 函数并通过表单元素发送返回数组...

    $encryptedData = "-----BEGIN PKCS7-----" . str_replace("\n", "", <br/>   $encryptedDataReturn['encrypted_data']) ."-----END PKCS7-----";
    
        $encryptedRequest=<<<PPHTML
      <html>
        <header>
        </header>
    
        <body onload="document.getElementById('paypal_form').submit();">
          <br/><br/><br/><br/>
          <center>
            <h2>Please wait, your order is being processed and you
                will be redirected to the paypal website.
            </h2>
          </center>
          <form id="paypal_form" method="POST" action="{$this->gatewayUrl}">
            <input type="hidden" name="cmd" value="_s-xclick">
            <input type="hidden" name="encrypted" value="$encryptedData">
          </form>
        </body>
      </html>
    

    PPHTML;

或者像这样使用curl

2.

$curlOptions = array (
            CURLOPT_URL => Config::MERCHANT_SANDBOX_SIGNATURE_ENDPOINT,
            CURLOPT_VERBOSE => 1,
            CURLOPT_SSL_VERIFYPEER => true,
            CURLOPT_SSL_VERIFYHOST => 2,
            CURLOPT_CAINFO => $this->publicCertificate,
            CURLOPT_RETURNTRANSFER => 1,
            CURLOPT_POST => 1,
            CURLOPT_HEADER => true,
            CURLOPT_POSTFIELDS => http_build_query($data)
    );


    $ch = curl_init();
    curl_setopt_array($ch,$curlOptions);

    //Sending our request - $response will hold the API response
    $response = curl_exec($ch);

我正在尝试找到将数据发送到 paypal api 的最安全方式。 首先,我混合了这两个函数,并将加密的 nvp 添加到 CURLOPT_POSTFIELDS。但这给了我一堆来自 Paypal 的错误。所以我做了双重加密。当我不加密 postfields 时,paypal api 给我 success

我的问题:
1。将 curl 与公共(public)证书一起使用是否足够安全?
2.是否可以将 pkcs7 加密(或类似的加密)与 curl 一起使用?
3.在通过 curl/https 将数据发送到 paypal 之前,我假设无法加密 postfields 是否正确,因为当我这样做时,paypal 会给我失败响应?

请帮忙。
你好ninchen

最佳答案

当谈到加密和安全时,您的第一个答案应该是做任何标准的事情。这是有原因的标准,并且可以预期是相当安全的。如果发现漏洞,您将需要更新,但其他人也需要更新。尝试一个聪明的技巧来“更安全”通常意味着你最终会得到一些不那么安全的东西。

参见 this answer进行更深入的讨论。

关于php - 更安全的加密方式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24003979/

相关文章:

php - 是否有可以在给定位置时生成 IP 的服务或程序

c++ - C++ 中的 libcurl : converting URL to some weird symbols

json - 为什么我的 jq 在 JSON 上失败?

python - 尝试用RSA加密视频帧;解密后得到垃圾而不是原始数据

java - BlowFish 解密 - nCFB 模式

php - 检查 $_POST 是否包含特定字符串 PHP

php - 如何在运行时使用Laravel注册新的语言 key ?

php - 准备好的语句错误 "No data supplied for parameters in prepared statement"

php - 使用 cURL 从网页获取 html 并使用 preg-replace 去除 html

apache - TLS 握手密码列表