QT的MD5计算
记住我
简介
基于QT进⾏MD5值计算,安装版本为QT5.13.0,需要#include "QCryptographicHash"
接⼝介绍
QCryptographicHash类中Algorithm枚举了可以计算的类型。计算⽅式分为两种:通过addData接⼝动态计算,通过hash接⼝静态计算;图中截取了该类的公共接⼝
使⽤⽅法
1. 动态计算
先创建⼀个实例并指定计算的类型,调⽤reset接⼝复位对象,通过addData接⼝往对象中填⼊数据,最终通过resault接⼝获取计算结果
QCryptographicHash hash(QCryptographicHash::Md5);
hash.addData(ui->source->toPlainText().toLocal8Bit());
ui->resault->sult().toHex().data());
2. 静态计算
直接将数据放到QCryptographicHash的hash接⼝内作为参数,同时指定计算⽅式,从返回值即可得到计算的结果
QByteArray value;
value = QCryptographicHash::hash(ui->source->toPlainText().toLocal8Bit(),QCryptographicHash::Md5);
ui->resault->Hex().data());
⽂件校验
使⽤动态计算的⽅式,从⽂件中按段读取⽂本内容,使⽤addData接⼝逐渐进⾏计算
/* 打开⽂件 */
QFile file(path);
if(!file.open(QIODevice::ReadOnly))
{
qDebug()<<"⽂件打开错误";
return;
}
QCryptographicHash md5_hash(QCryptographicHash::Md5);
set();
/* ⽂本读取 */
while(!file.atEnd())
{
md5_hash.adLine());
}
ui->md5output->setPlainText(sult().toHex());