summaryrefslogtreecommitdiff
path: root/client/Utility.cpp
blob: 2faed745194f7460cbac2ce86b186a01d09d98d9 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
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;
}