gpt4 book ai didi

c++ - 通过 OpenSSL 在 QT 中使用 Sha512 哈希

转载 作者:行者123 更新时间:2023-11-30 02:45:38 29 4
gpt4 key购买 nike

我正在尝试在 openSSL 中使用 Sha512 函数,但似乎无法让它工作,因为我刚开始进入代码时遇到编译器错误。我包括 #include <openssl/sha.h>在 .cpp 文件的顶部,然后在按钮事件的操作中,我将以下代码放在下面。

SHA512_CTX ctx;
SHA512_Init(&ctx);

//Will uncomment below in later if I get SHA512_Init to work

//SHA512_Update(&ctx, string, strlen(string));
//SHA512_Final(digest, &ctx);

我收到一个链接器错误,告诉我架构 x86_64 的 undefined symbol ,暗示该函数不存在?

我知道 QT 5 有哈希函数,但我仅限于 QT 4.8,所以我不能使用 QT 5+ 框架中可用的加密 sha512 哈希函数。

感谢任何帮助!

使用macports安装openssl

我使用的是 Mac OS 10.9.2

制作文件

#-------------------------------------------------
#
# Project created by QtCreator 2014-06-11T20:27:49
#
#-------------------------------------------------

QT += core gui network

greaterThan(QT_MAJOR_VERSION, 4): QT += widgets

TARGET = ExchangeTab
TEMPLATE = app

LIBS += -L/usr/include/openssl -openssl
INCLUDEPATH += /usr/include/openssl

SOURCES += main.cpp\
mainwindow.cpp \
httpsocket.cpp \
cloaksend.cpp \
exchange.cpp

HEADERS += mainwindow.h \
httpsocket.h \
cloaksend.h \
exchange.h

FORMS += mainwindow.ui

RESOURCES += \
AppResources.qrc

请寻找跨平台解决方案。

最佳答案

您需要链接到正确的库 (openSSL)

看看这里:How to Include OpenSSL in a Qt project

具体来说,将其添加到您的 .pro 文件中。:

LIBS += -L/opt/local/lib/ -lcrypto

要包含 .h 文件,请将此行添加到您的 .pro 文件中:

INCLUDEPATH += /opt/local/include

[ 1 ] 表示默认包含路径为 /opt/local/include/

关于c++ - 通过 OpenSSL 在 QT 中使用 Sha512 哈希,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24263697/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com