在 Qt C++ 中使用 openssl 解码和编码文本

Decode and Encode text with openssl in Qt C++

我想在 C++ 应用程序和 PHP 页面之间创建通信。 我已经建立了 SSL 连接,但我还希望对消息进行加密。 例如,这是 PHP 代码:

$textToEncrypt = "my secret message";
$key = "AAAAAAAAAAAAAAAA";
$iv =  "BBBBBBBBBBBBBBBB";
$encrypted = openssl_encrypt($textToEncrypt, 'aes-256-cbc', $key, true, $iv);
echo $encrypted;

在 qt C++ 中我有:

void PHPTest::replyFinished(QNetworkReply *reply)
{
    QString answer = QString::fromUtf8(reply->readAll());
    //Now i have to decrypt "answer", it contains the text encrypted in php.
}

我的问题是:

  1. 如何使用 openssl lib 在 QT/C++ 中解密变量 "answer"?
  2. 如何使用 openssl 库在 QT/C++ 中加密一些文本? (我将在 php 中使用 openssl_decrypt 对其进行解码)

如果您的 PHP 站点受 SSL 保护,并且您想通过 Qt 应用程序与其通信,则无需手动 encrypt/decrypt 任何操作。 SSL 会为您完成。只需编写您的 SSL 客户端(查看 http://doc.qt.io/qt-5/qtnetwork-securesocketclient-example.html 的示例)并向服务器发出请求。