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 GDCMSHA1_H 00016 #define GDCMSHA1_H 00017 00018 #include "gdcmTypes.h" 00019 00020 namespace gdcm 00021 { 00022 //----------------------------------------------------------------------------- 00023 class SHA1Internals; 00033 class GDCM_EXPORT SHA1 00034 { 00035 public : 00036 SHA1(); 00037 ~SHA1(); 00038 00039 static bool Compute(const char *buffer, unsigned long buf_len, char digest_str[20*2+1]); 00040 00041 static bool ComputeFile(const char *filename, char digest_str[20*2+1]); 00042 00043 private: 00044 SHA1Internals *Internals; 00045 private: 00046 SHA1(const SHA1&); // Not implemented. 00047 void operator=(const SHA1&); // Not implemented. 00048 }; 00049 } // end namespace gdcm 00050 //----------------------------------------------------------------------------- 00051 #endif //GDCMSHA1_H