gdcm/Source/Common/gdcmSHA1.h

50 lines
1.4 KiB
C++

/*=========================================================================
Program: GDCM (Grassroots DICOM). A DICOM library
Copyright (c) 2006-2011 Mathieu Malaterre
All rights reserved.
See Copyright.txt or http://gdcm.sourceforge.net/Copyright.html for details.
This software is distributed WITHOUT ANY WARRANTY; without even
the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
PURPOSE. See the above copyright notice for more information.
=========================================================================*/
#ifndef GDCMSHA1_H
#define GDCMSHA1_H
#include "gdcmTypes.h"
namespace gdcm
{
//-----------------------------------------------------------------------------
class SHA1Internals;
/**
* \brief Class for SHA1
*
* \warning this class is able to pick from one implementation:
*
* 1. the one from OpenSSL (when GDCM_USE_SYSTEM_OPENSSL is turned ON)
*
* In all other cases it will return an error
*/
class GDCM_EXPORT SHA1
{
public :
SHA1();
~SHA1();
SHA1(const SHA1&) = delete;
void operator=(const SHA1&) = delete;
static bool Compute(const char *buffer, unsigned long buf_len, char digest_str[20*2+1]);
static bool ComputeFile(const char *filename, char digest_str[20*2+1]);
private:
SHA1Internals *Internals;
};
} // end namespace gdcm
//-----------------------------------------------------------------------------
#endif //GDCMSHA1_H