博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Qt之OpenSSL
阅读量:6656 次
发布时间:2019-06-25

本文共 1275 字,大约阅读时间需要 4 分钟。

简述

OpenSSL是一个强大的安全套接字层密码库,囊括主要的密码算法、常用的密钥和证书封装管理功能及SSL协议,并提供丰富的应用程序供测试或其它目的使用。

下载安装

进入下载页面,选择适合自己的版本进行下载。

下载完成之后进行安装,我选择的目录为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" -llibeay32LIBS += -L"D:/Program Files/OpenSSL-Win32/lib" -lssleay32INCLUDEPATH += $$quote(D:/Program Files/OpenSSL-Win32/include)

然后就可以使用了,下面用sha256为例来对字符串进行加密。

#include 
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://ycato.baihongyu.com/

你可能感兴趣的文章
Python字符串的方法,查找和替换
查看>>
Mysql DOS: 进入Mysql运行文目录 F:\mysql-8.0.13-winx64\bin
查看>>
phpcms 整合 discuz!
查看>>
中小型企业网络构建之路由的简单配置
查看>>
Create an inbound email action
查看>>
课程测试用图
查看>>
html5培训课程浅谈专业html5包括哪些技术
查看>>
照片压缩软件哪款好用?推荐5款好用的图片压缩软件
查看>>
rest_framework序列化组件
查看>>
被判定为非法打压手机芯片市场竞争
查看>>
京东侧目!苏宁晒2018战绩:逆势大涨40%
查看>>
Linux文件管理及用户管理
查看>>
入门python之前,应该先了解这些
查看>>
织梦-信息分类中筛选的修改“联动类别”
查看>>
oracle教程之DML事务锁定的机制
查看>>
Oracle RMAN 维护(一)--RMAN的维护
查看>>
centos6.6关闭防火墙和selinux
查看>>
JAVA RMI远程方法调用简单实例
查看>>
Citrix桌面虚拟化解决方案介绍
查看>>
戴尔CEO称未来十年将超越惠普和IBM
查看>>