00001 /*========================================================================= 00002 00003 Program: GDCM (Grassroots DICOM). A DICOM library 00004 Module: $URL$ 00005 00006 Copyright (c) 2006-2010 Mathieu Malaterre 00007 All rights reserved. 00008 See Copyright.txt or http://gdcm.sourceforge.net/Copyright.html for details. 00009 00010 This software is distributed WITHOUT ANY WARRANTY; without even 00011 the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR 00012 PURPOSE. See the above copyright notice for more information. 00013 00014 =========================================================================*/ 00015 #ifndef GDCMMD5_H 00016 #define GDCMMD5_H 00017 00018 #include "gdcmTypes.h" 00019 00020 namespace gdcm 00021 { 00022 //----------------------------------------------------------------------------- 00023 class MD5Internals; 00034 class GDCM_EXPORT MD5 00035 { 00036 public : 00037 MD5(); 00038 ~MD5(); 00039 00040 static bool Compute(const char *buffer, unsigned long buf_len, char digest_str[33]); 00041 00042 static bool ComputeFile(const char *filename, char digest_str[33]); 00043 00044 private: 00045 MD5Internals *Internals; 00046 private: 00047 MD5(const MD5&); // Not implemented. 00048 void operator=(const MD5&); // Not implemented. 00049 }; 00050 } // end namespace gdcm 00051 //----------------------------------------------------------------------------- 00052 #endif //GDCMMD5_H