Qt QCA支持SHA-2哈希吗?

Qt QCA支持SHA-2哈希吗?,qt,hash,cryptography,shared-libraries,Qt,Hash,Cryptography,Shared Libraries,QCA(Qt加密体系结构)是否支持SHA-2(特别是SHA256)?如果没有:Qt中是否有用于SHA-2哈希的插件 请让我知道一些配置细节。是的,通过添加OSSL提供程序插件: 见本页底部的表格 可以在此处找到关于如何安装QCA并将其包含在此提供程序插件中的教程(适用于Linux和Windows/mingw32环境): 然后,您可以在应用程序运行时使用以下代码段进行检查: QCA::init(); if(!QCA::isSupported("sha2")) qFatal("SHA-2

QCA(Qt加密体系结构)是否支持SHA-2(特别是SHA256)?如果没有:Qt中是否有用于SHA-2哈希的插件


请让我知道一些配置细节。

是的,通过添加OSSL提供程序插件:

见本页底部的表格

可以在此处找到关于如何安装QCA并将其包含在此提供程序插件中的教程(适用于Linux和Windows/mingw32环境):

然后,您可以在应用程序运行时使用以下代码段进行检查:

QCA::init();
if(!QCA::isSupported("sha2"))
    qFatal("SHA-2 not supported!");

对于非常高安全性的项目(您需要软件证书或专业代码审查),您也可以使用Crypto++,这是一个提供SHA-2开箱即用的认证库:

有关认证版本,请参阅本页底部的FIPS 140-2一致性部分。请注意,认证版本仅适用于Windows


请注意,Qt 5内置了SHA-2:


我猜您希望应用程序与Qt4兼容。但是,如果您的应用程序是使用Qt5编译的,您应该考虑使用内置SHA-2实现,这可以使用预处理器条件和.pro文件条件库包含来完成。

非常感谢您提供的信息。.我尝试了ossl插件,但可能是我犯了错误,没有成功运行。我已经在qt中成功配置了。您能告诉我如何使用mingw toolchain在qt中配置ossl吗?我的专业版。qt和qca的文件如下所示。。QT+=core QT-=gui TARGET=hash CONFIG+=console CONFIG-=app_bundle TEMPLATE=app SOURCES+=main.cpp LIBS+=-LC:/QT/hash/qca-2.0.3/lib-lqca2 INCLUDEPATH+=“F:/QtSDK/qca-2.0.3/include/QtCrypto”CONFIG+=crypto您是否在应用程序目录中放置了qca和OSSL插件的DLL文件?错误信息是什么?在我看来,您的.pro文件是正确的,因为我想您不需要编写任何东西来将OSSL提供程序插件包含到此文件中。(提供程序是在运行时加载的。)还要注意,我更新了答案,并包含了一个代码片段,用于在运行时检查SHA-2的可用性。一旦成功运行应用程序,如果找到OSSL DLL,您应该从
QCA::isSupported(“sha2”)
获得
true
。@muktoshuvro这是一个很好的Linux和Windows教程(mingw):@ispascraudiu谢谢,修复了它。