当前位置:网站首页 > Haskell函数式编程 > 正文

密码的加密与解密的方式(密码的加密与解密的方式不包括)

#include "mainwindow.h"

#include "ui_mainwindow.h"

MainWindow::MainWindow(QWidget *parent) :

QMainWindow(parent),

ui(new Ui::MainWindow)

{

ui->setupUi(this);

}

MainWindow::~MainWindow()

{

delete ui;

}

QString MainWindow::toUpperAndLower(QString src)

{

for(int i = 0; i < src.count(); i++) {

QChar curC = src.at(i);

if(curC.isUpper()) {

curC = curC.toLower();

} else if(curC.isLower()){

curC = curC.toUpper();

}

src[i] = curC;

}

return src;

}

QString MainWindow::toXOREncryptUncrypt(QString src, const QChar key)

{

for(int i = 0; i < src.count(); i++) {

src[i] = src.at(i).toLatin1() ^ key.toLatin1();

}

return src;

}

void MainWindow::on_pushButton_a_clicked()

{

QByteArray text = ui->lineEdit_a->text().toLocal8Bit();

QByteArray by = text.toBase64();

ui->label_a->setText(by);

ui->lineEdit_j->setText(by);

}

void MainWindow::on_pushButton_j_clicked()

{

QByteArray text = ui->lineEdit_j->text().toLocal8Bit();

QByteArray by = text.fromBase64(text);

QString str = QString::fromLocal8Bit(by);

ui->label_j->setText(str);

}

void MainWindow::on_pushButton_a_2_clicked()

{

QByteArray text = ui->lineEdit_a_2->text().toLocal8Bit();

QByteArray by = text.toBase64();

QString str = QString(by);

str = toUpperAndLower(str); // 加密

ui->label_a_2->setText(str);

ui->lineEdit_j_2->setText(str);

}

void MainWindow::on_pushButton_j_2_clicked()

{

QString str = toUpperAndLower(ui->lineEdit_j_2->text()); //解密

QByteArray text = str.toLocal8Bit();

QByteArray by = text.fromBase64(text);

str = QString::fromLocal8Bit(by);

ui->label_j_2->setText(str);

}

void MainWindow::on_pushButton_a_3_clicked()

{

QByteArray text = ui->lineEdit_a_3->text().toLocal8Bit();

QByteArray by = text.toBase64();

QString str = QString(by);

str = toXOREncryptUncrypt(str, 'g'); // 加密 --- 注意:(这里的key是可以指定为任意字符的,相应的,解密也要同意字符才行)

ui->label_a_3->setText(str);

ui->lineEdit_j_3->setText(str);

}

void MainWindow::on_pushButton_j_3_clicked()

{

QString str = toXOREncryptUncrypt(ui->lineEdit_j_3->text(), 'g'); //解密

QByteArray text = str.toLocal8Bit();

QByteArray by = text.fromBase64(text);

str = QString::fromLocal8Bit(by);

ui->label_j_3->setText(str);

到此这篇密码的加密与解密的方式(密码的加密与解密的方式不包括)的文章就 介绍到这了,更多相关内容请继续浏览下面的相关 推荐文章,希望大家都能在 编程的领域有一番成就!

版权声明


相关文章:

  • 打开目录的命令(打开目录文件的函数)2025-09-02 21:00:09
  • ifstream的read函数(ifstream read函数)2025-09-02 21:00:09
  • sigmf函数(sigmoid函数作用)2025-09-02 21:00:09
  • yml文件如何打开(yml文件格式)2025-09-02 21:00:09
  • redis 哨兵模式配置(redis哨兵模式需要几个节点)2025-09-02 21:00:09
  • 字符串转码技术介绍(字符串转换编码格式)2025-09-02 21:00:09
  • ddpm模型公式(ddm模型例题)2025-09-02 21:00:09
  • mtf调制函数(mtf调制度)2025-09-02 21:00:09
  • mysql窗口函数排序(mysql8.0 窗口函数)2025-09-02 21:00:09
  • 电路原理公式大全(电路原理基础知识公式)2025-09-02 21:00:09
  • 全屏图片