summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRemko Tronçon <git@el-tramo.be>2009-11-27 19:06:47 (GMT)
committerRemko Tronçon <git@el-tramo.be>2009-11-27 19:06:47 (GMT)
commitaa09a889108c4d0e3c5888ad98958d8f3e12bd3b (patch)
tree3c621ae0a6e2150281be182b37e2837b804adcba /Swiften/StringCodecs/Hexify.cpp
parentc89ef0ffae597ac8c1063732e1d9a2d84703a80c (diff)
downloadswift-aa09a889108c4d0e3c5888ad98958d8f3e12bd3b.zip
swift-aa09a889108c4d0e3c5888ad98958d8f3e12bd3b.tar.bz2
Added MD5 hashing algorithm.
Moved 'hexifying' of hashes into its own class, such that it can be shared between all hashes.
Diffstat (limited to 'Swiften/StringCodecs/Hexify.cpp')
-rw-r--r--Swiften/StringCodecs/Hexify.cpp22
1 files changed, 22 insertions, 0 deletions
diff --git a/Swiften/StringCodecs/Hexify.cpp b/Swiften/StringCodecs/Hexify.cpp
new file mode 100644
index 0000000..504e314
--- /dev/null
+++ b/Swiften/StringCodecs/Hexify.cpp
@@ -0,0 +1,22 @@
+#include "Swiften/StringCodecs/Hexify.h"
+
+#include <sstream>
+#include <iomanip>
+#include <boost/numeric/conversion/cast.hpp>
+
+#include "Swiften/Base/String.h"
+#include "Swiften/Base/ByteArray.h"
+
+namespace Swift {
+
+String Hexify::hexify(const ByteArray& data) {
+ std::ostringstream result;
+ result << std::hex;
+
+ for (unsigned int i = 0; i < data.getSize(); ++i) {
+ result << std::setw(2) << std::setfill('0') << boost::numeric_cast<unsigned int>(static_cast<unsigned char>(data[i]));
+ }
+ return String(result.str());
+}
+
+}