diff options
Diffstat (limited to 'client/Utility.cpp')
-rw-r--r-- | client/Utility.cpp | 29 |
1 files changed, 29 insertions, 0 deletions
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 <QCryptographicHash> +#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; +} |