File indexing completed on 2024-05-12 15:59:54

0001 /*
0002  * SPDX-FileCopyrightText: 2015 Stefano Bonicatti <smjert@gmail.com>
0003  *
0004  * SPDX-License-Identifier: LGPL-2.1-or-later
0005 */
0006 #include "KoMD5Generator.h"
0007 
0008 #include <QIODevice>
0009 #include <QFile>
0010 #include <QCryptographicHash>
0011 
0012 QString KoMD5Generator::generateHash(const QByteArray &array)
0013 {
0014     QString result;
0015 
0016     if (!array.isEmpty()) {
0017         QCryptographicHash md5(QCryptographicHash::Md5);
0018         md5.addData(array);
0019         result = md5.result().toHex();
0020     }
0021 
0022     return result;
0023 }
0024 
0025 QString KoMD5Generator::generateHash(const QString &filename)
0026 {
0027     QString result;
0028 
0029     QFile f(filename);
0030     if (f.exists() && f.open(QIODevice::ReadOnly)) {
0031         QCryptographicHash md5(QCryptographicHash::Md5);
0032         md5.addData(&f);
0033         result = md5.result().toHex();
0034     }
0035 
0036     return result;
0037 }
0038 
0039 QString KoMD5Generator::generateHash(QIODevice *device)
0040 {
0041     QString result;
0042 
0043     QCryptographicHash md5(QCryptographicHash::Md5);
0044     md5.addData(device);
0045     result = md5.result().toHex();
0046 
0047     return result;
0048 }