summaryrefslogtreecommitdiff
path: root/client/Utility.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'client/Utility.cpp')
-rw-r--r--client/Utility.cpp29
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;
+}