openssl qt 生成秘钥_QT中运用Openssl DES加密算法

该博客讲述了如何在QT环境下利用OpenSSL库进行DES加密,重点在于配置环境、选择加解密模式(此处以ECB为例)以及加密代码实现。文章提供了详细的代码示例,包括DES_Encrypt函数的接口介绍和数据处理过程,特别强调了数据类型转换和密钥处理的注意事项。
摘要由CSDN通过智能技术生成

2ff34e647e2e3cdfd8dca593e17d9b0a.png

QT并没有自带的加解密工具,网上有用Qt开源加解密插件,有自己实现加解密算法功能的。

因博主之前的文章已经用C++编写过一个DES加密算法,这里就不再用QT重复一遍了。

本文介绍了在QT中运用OPENSSL开源加解密库的DES算法,和着重提醒几个容易出错的地方,其他算法的运用与此类似。

一、配置环境运用VS2014平台配置Openssl环境已经在之前讲过,如有不懂,可以

二、选择加解密模式电子密码本模式ECB

加密块链模式CBC

加密反馈模式CFB

输出反馈模式OFB

根据加密模式的不同,安全性和容错性会有差异,详细介绍请看

本文只介绍ECB的用法。

先贴出加密代码

CRYPTO_STATUS ECBCipher::DES_Encrypt(const QString cleartext, const QString key, QString& ciphertext)

{

if (cleartext.isEmpty())

{

return ENCRYPT_SUCCESS;

}

DES_cblock keyEncrypt;

memset(keyEncrypt, 0, 8);

const char* ch = key.toLatin1().data();

if (key.length() <= 8)

memcpy(keyEncrypt, key.toLatin1().data(), key.length());

else

memcpy(keyEncrypt, key.toLatin1().data(), 8);

DES_key_schedule keySchedule;

DES_set_key_unchecked(&keyEncrypt, &keySchedule);

const_DES_cblock inputText;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值