Qt多功能计算器(四)——base64加密和解密
项目介绍
本篇文章的内容是Qt多功能计算器的第四个功能,base64的加密和解密,这可能是除对话框外,这个项目中最简单、代码量最少的界面(因为项目还没有写完,所以我不能确定这一定是最简单的界面)。
界面设计
这是界面的设计图:
控件描述 | 控件名称 |
---|---|
输入框 | inputBox |
输出框 | outputBox |
加密按钮 | btnEncode |
解密按钮 | btnDecode |
控件名称 | 信号函数 | 槽函数 | 槽函数参数 |
---|---|---|---|
btnEncode | QPushButton::clicked() | Base64::btnEncodePushed() | None |
btnDecode | QPushButton::clicked() | base64::btnDecodePushed() | None |
void btnEncodePushed();
void btnDecodePushed();
connect(ui->btnEncode,&QPushButton::clicked,this,[=]{Base64::btnEncodePushed();});
connect(ui->btnDecode,&QPushButton::clicked,this,[=]{Base64::btnDecodePushed();});
界面逻辑
btnDecodePushed()函数
void Base64::btnDecodePushed()
{QByteArray inputText = ui->inputBox->toPlainText().toLocal8Bit();inputText = QByteArray::fromBase64(inputText);QString outputText = QString::fromLocal8Bit(inputText);ui->outputBox->setText(outputText);
}
处理解码按钮被按下的事件,对字符串进行解码
btnEncodePushed()函数
void Base64::btnEncodePushed()
{QString inputText = ui->inputBox->toPlainText();QString outputText = inputText.toUtf8().toBase64();ui->outputBox->setText(outputText);
}
处理编码按钮被按下的事件,对字符串进行编码
知识整理
QByteArray
QByteArray与QString
- QString是字符串类型,可以处理各国语言的编码,默认都当作utf-8编码来处理
- QByteArray是字节流类型,对于语言,只能处理ACSII(美国信息交换标准代码)编码,也就是只能处理英语字符,如果QByteArray中有其它语言的编码,那么就会以原始字节流的形式输出
- 相比QString,QByteArray具有更强的灵活性,在适当的地方使用可以缩短代码
QByteArray::fromBase64()函数
对QByteArray字节流进行base64解密
QString::toLocal8Bit()函数
将QString转换为字节流,返回的数据类型是QByteArray。
QString::fromLocal8Bit()函数
将字节流转换为字符串,与QString::toLocal8Bit()函数相反。
QString的base64加密
QString outputText = inputText.toUtf8().toBase64();
Qt多功能计算器(四)——base64加密和解密相关推荐
- php cookie 加密解密,php 使用base64加密、解密cookie的示例
这篇文章主要为大家详细介绍了php 使用base64加密.解密cookie的示例,具有一定的参考价值,可以用来参考一下. 感兴趣的小伙伴,下面一起跟随512笔记的小编罗X来看看吧. 经测试代码如下: ...
- python中base64加密和解密
base64加密和解密有点头疼,必须要记录下来,以后忘了也能再来复习下 当然啦,能一直记住是最好的-加油吧,少年(其实已经好老了) 操作环境 win10,python3 base的原理 这个还是别人讲 ...
- Base64加密与解密使用(+拓展:盐值法)
1.什么是Base64 Base64是一种直接利用64位可打印字符来表示二进制数据的算法,是一种比较常见的加密算法.JDK1.8版本提供了java.util.Base64的工具类,使用Base64提供 ...
- Javascript Base64加密与解密
Base64加密与解密 Base64.js function Base64() {// private property_keyStr = "ABCDEFGHIJKLMNOPQRSTUVWX ...
- shell脚本:base64加密、解密字符串并赋值给变量方法
几经波折才能够实现使用 base64 加密.解密字符串并赋值给变量.网上绝大多数是使用 echo 管道实现 加密和解密字符串的输出. 代码如下: pwd=$( base64 -d <<&l ...
- java base64加密与解密
目录 前言 一.base64加密与解密 1. base64有填充的编码与解码 2. base64无填充的编码与解码 二.MIME友好型base64加密与解密 前言 Base64 编码会将字符串编码得到 ...
- mysql base64 加密解密_烂泥:base64加密与解密
本文由ilanniweb微信公众号提供友情赞助,首发于烂泥行天下 jenkins技术分享QQ群:571981257 一.什么是base64 base64是网络上最常见的用于传输8Bit字节码的编码方式 ...
- js中实现base64加密、解密
//base64加密 解密/* //1.加密 var result = Base.encode('125中文'); //--> "MTI15Lit5paH"//2.解密 va ...
- Base64加密与解密
Base64是jdk1.8新增的加密处理类,Base64处理,在这个类里面有两个内部类 Base64.Encoder :进行加密处理 public byte[] encode(byte[] src ...
最新文章
- html音频从10秒播放至30秒,基于Arduino制作SD卡音乐播放器
- 使用Dapper持久化IdentityServer4
- Facade(外观)--对象结构型模式
- siwper vue 上下滑动分页_支持移动端的vue滑动轮播图插件vueswiper
- 新版Windows Live SkyDrive Beta发布
- windows 11屏幕保护程序配置教程——设置无效解决方案
- 计算机组成原理_DRAM和SRAM
- 网口压线顺序_网线水晶头接法口诀顺序及接法详细步骤
- 类名+单书名号——泛型,什么是泛型?如何使用泛型
- MMWHS-文献阅读(图像分割)
- 项目经理人才培养专题︱优秀项目经理能力建设(一)
- 上市公司融资约束SA测算以及结果(2000-2019)
- 微信小程序开发架构——JavaScript的基本概述 和 JavaScript在 Nodejs、小程序中、浏览器中的使用方法
- sp许可证有什么用呢?
- java设计中国象棋_Java课程设计—象棋
- WebRequest 类
- 新概念1、2英语学习计划
- IoT物联网平台「设备影子」开发实战
- 企业挖角 AI 教授是不是「原罪」?
- Android 高质量开发之崩溃优化
热门文章
- (Java)对象克隆技术
- Spring源码(十)-IOC终结篇
- Qt滚动区域原理(QAbstractScrollArea)
- 以太网,令牌网,FDDI,ATM,WLAN的区别
- 事件监听函数addEvent
- 汽车芯片短缺潮“拐点”已至?下一波“网络安全”升级战悄然开始
- 【shell脚本开发技术】linux中shell script脚本开发编程常用命令与脚本速记指南
- iWO联通3G详单及套餐使用情况查询工具)更新至v0.8.4
- amtemu v0.9.2怎么用_怎么样用手机玩暗黑2(电脑PC游戏)
- NSTextField 处于编辑状态时,点击return键 结束编辑,NSButton的return快捷方法不响应