Qt之OpenSSL(有pro文件的路徑格式,以及對libeay32和ssleay32的引用)


簡述

OpenSSL是一個強大的安全套接字層密碼庫,囊括主要的密碼算法、常用的密鑰和證書封裝管理功能及SSL協議,並提供豐富的應用程序供測試或其它目的使用。

 

 

下載安裝

進入Win32 OpenSSL下載頁面,選擇適合自己的版本進行下載。

下載完成之后進行安裝,我選擇的目錄為D:\Program Files\OpenSSL-Win32。進入安裝目錄,可以看到主要包含以下文件夾:

lib:包含了所有的庫文件(例如:libeay32.lib、ssleay32.lib)。 
include:包含了所有的頭文件(例如:aes.h、md5.h)。 
bin:包含了測試程序、存儲證書和密鑰的文件(*.pem)。

使用

在pro中包含庫文件與路徑。

LIBS += -L"D:/Program Files/OpenSSL-Win32/lib" -llibeay32 LIBS += -L"D:/Program Files/OpenSSL-Win32/lib" -lssleay32 INCLUDEPATH += $$quote(D:/Program Files/OpenSSL-Win32/include)

然后就可以使用了,下面用sha256為例來對字符串進行加密

#include <openssl/ssl.h> std::string sha256(const std::string str) { char buf[2]; unsigned char hash[SHA256_DIGEST_LENGTH]; SHA256_CTX sha256; SHA256_Init(&sha256); SHA256_Update(&sha256, str.c_str(), str.size()); SHA256_Final(hash, &sha256); std::string newString = ""; for(int i = 0; i < SHA256_DIGEST_LENGTH; i++) { sprintf(buf,"%02x",hash[i]); newString = newString + buf; } return newString; }

以”Hello World”為例,來進行驗證。

int main(int argc, char *argv[]) { QCoreApplication a(argc, argv); std::string str = "Hello World"; qDebug() << QString::fromStdString(sha256(str)); return a.exec(); }

輸出結果:”a591a6d40bf420404a011733cfb7b190d62c65bf0bcda32b57b277d9ad9f146e”

為了確定輸出是否正確,我們可以在網上進行在線驗證。

更多參考

http://blog.csdn.net/liang19890820/article/details/51611400


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM