一、

使用库:https://github.com/bricke/Qt-AES

二、代码举例

#include <QCryptographicHash>
void MainWindow::on_pushButton_clicked()
{
QAESEncryption encryption(QAESEncryption::AES_128, QAESEncryption::ECB, QAESEncryption::ZERO); QString key="12345";
QString date="20200730";
QString data="BFEBFBFF000406F1Z9ABXEMP"+date; QByteArray hashKey = QCryptographicHash::hash(key.toUtf8(), QCryptographicHash::Md5);
QByteArray encodedText = encryption.encode(data.toUtf8(), hashKey);
QString str_encode_text=QString::fromLatin1(encodedText.toBase64());
qDebug()<<"encodedText:"<<str_encode_text; //QAESEncryption encryption(QAESEncryption::AES_128, QAESEncryption::ECB, QAESEncryption::ZERO);
QByteArray hashKey2 = QCryptographicHash::hash(key.toUtf8(), QCryptographicHash::Md5);
QByteArray decodedText = encryption.decode(QByteArray::fromBase64(str_encode_text.toLatin1()), hashKey2);
qDebug()<<"decodedText:"<<QString::fromLatin1(decodedText); }

QT AES加密的更多相关文章

  1. c# .NET RSA结合AES加密服务端和客户端请求数据

    这几天空闲时间就想研究一下加密,环境是web程序,通过js请求后台返回数据,我想做的事js在发送请求前将数据加密,服务端收到后解密,待服务端处理完请求后,将处理结果加密返回给客户端,客户端在解密,于是 ...

  2. 关于CryptoJS中md5加密以及aes加密的随笔

    最近项目中用到了各种加密,其中就包括从没有接触过得aes加密,因此从网上各种查,官方的一种说法: 高级加密标准(英语:Advanced Encryption Standard,缩写:AES),在密码学 ...

  3. AES加密

    package com.edu.hpu; import java.math.BigInteger; import java.security.MessageDigest; import java.se ...

  4. Android数据加密之Aes加密

    前言: 项目中除了登陆,支付等接口采用rsa非对称加密,之外的采用aes对称加密,今天我们来认识一下aes加密. 其他几种加密方式: Android数据加密之Rsa加密 Android数据加密之Aes ...

  5. c#和js互通的AES加密解密

    一.使用场景 在使用前后端分离的框架中常常会进行传输数据相互加密解密以确保数据的安全性,如web Api返回加密数据客户端或web端进行解密,或者客户端或web端进行加密提交数据服务端解密数据等等. ...

  6. AES加密解密通用版Object-C / C# / JAVA

    1.无向量 128位 /// <summary> /// AES加密(无向量) /// </summary> /// <param name="plainByt ...

  7. nodejs与javascript中的aes加密

    简介 1.aes加密简单来说,在密码学中又称Rijndael加密法,是美国联邦政府采用的一种区块加密标准.这个标准用来替代原先的DES,已经被多方分析且广为全世界所使用.高级加密标准已然成为对称密钥加 ...

  8. 非对称技术栈实现AES加密解密

    非对称技术栈实现AES加密解密 正如前面的一篇文章所述,https协议的SSL层是实现在传输层之上,应用层之下,也就是说在应用层上看到的请求还是明码的,对于某些场景下要求这些http请求参数是非可读的 ...

  9. Java aes加密C#解密的取巧方法

    摘要: 项目开发过程中遇到一个棘手的问题:A系统使用java开发,通过AES加密数据,B系统使用C#开发,需要从A系统获取数据,但在AES解密的时候遇到麻烦.Java的代码和C#的代码无法互通. Ja ...

  10. AES 加密工具类

    /** * AES 是一种可逆加密算法,对用户的敏感信息加密处理 对原始数据进行AES加密后,在进行Base64编码转化: */public class AESOperator { /* * 加密用的 ...

随机推荐

  1. win10 hyper-v 配置教程

    非家庭版跳过以下这一步. pushd "%~dp0" dir /b %SystemRoot%\servicing\Packages\*Hyper-V*.mum >hv.txt ...

  2. 题解:CF1977D XORificator

    题目链接:link. 题目大概其实就是想让我们通过翻转某些行,使得尽可能多的列成为特殊列. 众所周知,暴力肯定是不行的,所以我们需要考虑优化! 对于每一列 \(j\),枚举每一行 \(i\),通过翻转 ...

  3. Git 操作进阶

    1. git基本操作 1.1 查看文件 还未被add的更改 使用git status命令,它会显示哪些文件已经被修改并添加到暂存区,以及那些还未被添加的修改. git status -uno //不显 ...

  4. Ubuntu二进制安装ElasticSearch7.17.x版本集群

    概述 本文主要讲解如何二进制安装Linux二进制集群 环境信息 主机名 IP地址 系统 ELK01 10.0.0.40 Ubuntu22.04 ELK02 10.0.0.41 Ubuntu22.04 ...

  5. Teradata在华落幕,国产化崛起,袋鼠云数栈会是更好的选择吗?

    2月15日,数仓软件巨头Teradata宣布根据其对中国当前和未来商业环境的慎重评估,将逐步结束在中国的直接运营,后续进入中国公司的关闭程序. 一石激起千层浪,这一消息,在国内的To B市场引起了广泛 ...

  6. upload-labs靶场通关教程

    upload-labs靶场通关教程 Pass-01 我们先上传带有一句话木马的1.php 查看页面源代码发现是前端js弹窗,我们直接禁用前端即可. 再进行上传1.php,我们就可以上传了. Pass- ...

  7. Centos7在原有磁盘上磁盘扩容

    如下示例使用VMWare虚拟化软件给虚拟centos7系统进行相关磁盘扩容 1.查看目前磁盘容量 2.VMWare给虚拟系统扩展空间 注意在虚拟系统关机情况下进行 3.查看扩容后磁盘情况 4.创建磁盘 ...

  8. 视频音频对嘴--Wav2Lip

    之前介绍了将图片加音频进行对嘴处理,生成新的视频:基础版: https://www.cnblogs.com/cj8988/p/18952604 进阶版(加表情) :https://www.cnblog ...

  9. Windows下Gitlab多账号配置(SSH)终极解决方案

    多 Git 账号管理(SSH 模式) 动机: 我在使用多个 Git 账号时经常遇到麻烦:每次切换账号都要重新登录,尤其是在浏览器中进行身份验证时,问题更明显.我的默认浏览器是 Edge,而 GitHu ...

  10. 【x86】内存页式管理

    基本概念 将内存切分为等大小的页面,例如一个页位4096 B = \(2^{12}\) B,也就是4 KB.这样,内存的最小单位变成了4 KB. 4 GB (\(2^{32}\) B) 的内存地址范围 ...