QT的MD5計算


簡介

基於QT進行MD5值計算,安裝版本為QT5.13.0,需要#include "QCryptographicHash"

接口介紹

QCryptographicHash類中Algorithm枚舉了可以計算的類型。計算方式分為兩種:通過addData接口動態計算,通過hash接口靜態計算;圖中截取了該類的公共接口

使用方法

  1. 動態計算
    先創建一個實例並指定計算的類型,調用reset接口復位對象,通過addData接口往對象中填入數據,最終通過resault接口獲取計算結果
    QCryptographicHash hash(QCryptographicHash::Md5);
    hash.reset();

    hash.addData(ui->source->toPlainText().toLocal8Bit());

    ui->resault->setText(hash.result().toHex().data());
  1. 靜態計算
    直接將數據放到QCryptographicHash的hash接口內作為參數,同時指定計算方式,從返回值即可得到計算的結果
    QByteArray value;

    value = QCryptographicHash::hash(ui->source->toPlainText().toLocal8Bit(),QCryptographicHash::Md5);

    ui->resault->setText(value.toHex().data());

文件校驗

使用動態計算的方式,從文件中按段讀取文本內容,使用addData接口逐漸進行計算

    /* 打開文件 */
    QFile file(path);
    if(!file.open(QIODevice::ReadOnly))
    {
        qDebug()<<"文件打開錯誤";
        return;
    }

    QCryptographicHash md5_hash(QCryptographicHash::Md5);
    md5_hash.reset();

    /* 文本讀取 */
    while(!file.atEnd())
    {
        md5_hash.addData(file.readLine());
    }

    ui->md5output->setPlainText(md5_hash.result().toHex());


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM