From 1dec54489afdaf418175d3a86b6e0edca349fb3b Mon Sep 17 00:00:00 2001 From: Brad King Date: Thu, 24 Jan 2008 14:41:18 -0500 Subject: ENH: Add cmSystemTools::ComputeStringMD5 method. --- Source/cmSystemTools.cxx | 11 +++++++++++ Source/cmSystemTools.h | 3 +++ 2 files changed, 14 insertions(+) diff --git a/Source/cmSystemTools.cxx b/Source/cmSystemTools.cxx index b489c48..89961da 100644 --- a/Source/cmSystemTools.cxx +++ b/Source/cmSystemTools.cxx @@ -1129,6 +1129,17 @@ bool cmSystemTools::ComputeFileMD5(const char* source, char* md5out) #endif } +std::string cmSystemTools::ComputeStringMD5(const char* input) +{ + char md5out[32]; + cmsysMD5* md5 = cmsysMD5_New(); + cmsysMD5_Initialize(md5); + cmsysMD5_Append(md5, reinterpret_cast(input), -1); + cmsysMD5_FinalizeHex(md5, md5out); + cmsysMD5_Delete(md5); + return std::string(md5out, 32); +} + void cmSystemTools::Glob(const char *directory, const char *regexp, std::vector& files) { diff --git a/Source/cmSystemTools.h b/Source/cmSystemTools.h index fcfbafd..3bf22f7 100644 --- a/Source/cmSystemTools.h +++ b/Source/cmSystemTools.h @@ -168,6 +168,9 @@ public: ///! Compute the md5sum of a file static bool ComputeFileMD5(const char* source, char* md5out); + /** Compute the md5sum of a string. */ + static std::string ComputeStringMD5(const char* input); + /** * Run an executable command and put the stdout in output. * A temporary file is created in the binaryDir for storing the -- cgit v0.12