From bd1d34d7781d35f17666adb3df6abb7c9b7fcc32 Mon Sep 17 00:00:00 2001 From: Alex Borisov Date: Fri, 2 Dec 2011 03:54:00 +0200 Subject: MD5 hash check for existing & downloaded files --- client/Utility.cpp | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) create mode 100644 client/Utility.cpp (limited to 'client/Utility.cpp') diff --git a/client/Utility.cpp b/client/Utility.cpp new file mode 100644 index 0000000..2faed74 --- /dev/null +++ b/client/Utility.cpp @@ -0,0 +1,29 @@ + +#include +#include "client.h" +#include "Logger.h" +#include "Utility.h" + + +QByteArray md5_sum(QString &filename) +{ + QFile file(filename); + if (! file.exists()) + { + Logger::Warn("Can't compute md5sum: file %s do not exist\n", filename.toStdString().c_str()); + return NULL; + } + + file.open(QIODevice::ReadOnly); + QCryptographicHash md5hash(QCryptographicHash::Md5); + while (! file.atEnd()) + { + const size_t buf_sz = 4096; + md5hash.addData(file.read(buf_sz)); + } + file.close(); + + QByteArray res = md5hash.result().toHex(); + Logger::Debug("MD5 sum for %s is: %s\n", filename.toStdString().c_str(), res.data()); + return res; +} -- cgit v1.2.3