mirror of https://gitee.com/openkylin/gdcm.git
50 lines
1.4 KiB
C++
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
|