QWebSocket 添加 SLL 加密的 Demo,支持单向认证和双向认证,支持windows和linux双平台。
2023-03-06 15:02:42 1MB WebSocket SSL qt   加密通信
1
QuickEncrypt,数据安全小工具,采用托盘图标、悬浮窗、鼠标拖拽、右键菜单的简单操作模式,提供文件、文本的加解密(RC4+AES)、Hash(MD5+SHA1)、安全擦除等功能。独有的“智能压缩”加密模式。 1.功能介绍 对鼠标拖入的文本进行加解密 对剪贴板中的文本进行加解密 对鼠标拖入的文件进行加解密 对鼠标拖入的文件进行擦除 对鼠标拖入的文本进行Hash计算 对剪贴板中的文本进行Hash计算 对鼠标拖入的文件进行Hash计算 针对文本和文件加解密的智能数据压缩技术 支持超过4GB的大文件 2.安全机制 2.1 文件擦除策略 a.修改文件名为随机串; b.以32字节的块向文件写入全0; c.刷新数据,关闭文件; d.修改文件名为随机串; e.以32字节的块向文件写入全1; f.刷新数据,关闭文件; g.截断文件大小为0; h.删除文件。 经测试常用数据恢复软件无法成功恢复原有数据。 2.2 Hash算法 使用OpenSSL 0.98提供的MD5(128位)和SHA1(160位)算法。 2.3 加解密密钥生成 将用户输入的密码明文转换成utf-8字节数组(不包含0结束符),计算MD5和SHA1,将MD5结果用作AES 128位密钥,将SHA1结果用作RC4密钥。 2.4 文本加密策略 a.将明文数据转换成utf-8字节数组(包含0结束符); b.对明文字节数组计算CRC32校验码,用于解密时校验,并将CRC32值放在明文首字节之前; c.尝试压缩步骤b的结果(zlib level9),若获得较小的压缩结果则输出压缩后的编码数组,否则放弃压缩,直接输出步骤b的结果; d.对步骤c的结果进行RC4流加密(OpenSSL 0.98); e.对步骤d的结果进行AES_CFB_128分组加密(OpenSSL 0.98); f.对步骤e的结果进行Base64编码(OpenSSL 0.98); g.将标记"QE:|"附加在步骤f的结果之前,输出结果。 2.5 文件加密策略 a.判断输入文件的扩展名是否是压缩格式,对常见压缩格式和流媒体编码文件不启用数据压缩功能; b.以1MB大小分块,读入明文文件数据; c.对分块的明文数据计算MD5,附加在待加密数据之前,用于解密时校验; d.尝试压缩1MB大小的分块,若获得较小的压缩结果则输出压缩后的编码数据,否则直接输出原文; e.对步骤d的结果进行RC4流加密(OpenSSL 0.98); f.对步骤e的结果进行AES_CFB_128分组加密(OpenSSL 0.98); g.将分块数据依次写入输出文件,输出文件的文件名是在原文件名后加".enc"。
2022-11-14 19:37:35 6.76MB Qt 加密 安全
1
原理是: 需要被注册的软件keydemo.exe第一次运行的时候,在系统的注册表里面注册一个键值,这个值作为生成密钥的用户识别号,然后用keytool.exe软件生成密钥文件key.db,把这个key.db文件放到keydemo.exe软件同级目录下,即可完成keydemo.exe软件的注册并正常使用软件。 源码中,keytool.pro是生成密钥的项目工程,keydemo.pro是使用密钥的项目工程,这两个工程都作为key.pro的子项目存在。 打开key.pro工程后,重新编译整个工程,会在bin文件夹下生成keydemo.exe和keytool.exe。
2022-05-07 19:00:13 28.92MB qt加密
Aes加密算法 C++的,已验证并应用
2021-12-29 15:37:05 17KB Aes加密 Qt加密 C++加密
1
支持中文加密解密,我在开发中客户端有java、delphi、QT,服务器端有C#、php、golang,它们之间要socket通讯,就把同一种加密方法用多种语言编写出来,可点我继续下载别的语言版本。
2021-06-14 13:00:08 7KB qt 加密解密
1
## 说明 此程序可以进行sha1,sha256,md5的加密 在input输入框内输入所需加密的数据,然后点击"encryption"按扭即可实现加密; 默认input输入框内的数据为123456
2021-05-12 14:59:35 35KB Qt 加密 md5 sha1
1
//从文件中读取出内容 QFile file("D:\\testMod\\Toolpath\\top-mark2-1.900"); if (!file.open(QFile::ReadOnly | QFile::Text)) return 0; QByteArray ba = file.readAll();//文件内容 file.close(); Encrypt*pEncrypt = Encrypt::getInstance(); //获取加密单例 QByteArray outEncryptBa; //加密后的 QByteArray outUncryptBa; //解密后的 pEncrypt->InitializePrivateKey(16, "abc"); //初始化密钥 pEncrypt->OnAesEncrypt(ba, outEncryptBa); //加密 pEncrypt->OnAesUncrypt(outEncryptBa, outUncryptBa);//解密
2021-04-28 18:46:22 2.56MB AES QT 加密 解密
1