|
WizardsToolkit
1.0.7
|
00001 /* 00002 Copyright 1999-2011 ImageMagick Studio LLC, a non-profit organization 00003 dedicated to making software imaging solutions freely available. 00004 00005 You may not use this file except in compliance with the License. 00006 obtain a copy of the License at 00007 00008 http://www.wizards-toolkit.org/script/license.php 00009 00010 Unless required by applicable law or agreed to in writing, software 00011 distributed under the License is distributed on an "AS IS" BASIS, 00012 WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 00013 See the License for the specific language governing permissions and 00014 limitations under the License. 00015 00016 Wizard's Toolkit secure hash algorithm methods. 00017 */ 00018 #ifndef _WIZARDSTOOLKIT_HASH_H 00019 #define _WIZARDSTOOLKIT_HASH_H 00020 00021 #if defined(__cplusplus) || defined(c_plusplus) 00022 extern "C" { 00023 #endif 00024 00025 #include "wizard/string_.h" 00026 00027 typedef enum 00028 { 00029 UndefinedHash, 00030 NoHash, 00031 CRC64Hash, 00032 MD5Hash, 00033 SHA1Hash, 00034 SHA224Hash, 00035 SHA256Hash, 00036 SHA384Hash, 00037 SHA512Hash 00038 } HashType; 00039 00040 typedef struct _HashInfo 00041 HashInfo; 00042 00043 extern WizardExport char 00044 *GetHashHexDigest(const HashInfo *); 00045 00046 extern WizardExport const StringInfo 00047 *GetHashDigest(const HashInfo *); 00048 00049 extern WizardExport HashInfo 00050 *DestroyHashInfo(HashInfo *), 00051 *AcquireHashInfo(const HashType); 00052 00053 extern WizardExport size_t 00054 GetHashBlocksize(const HashInfo *), 00055 GetHashDigestsize(const HashInfo *); 00056 00057 extern WizardExport void 00058 InitializeHash(HashInfo *), 00059 FinalizeHash(HashInfo *), 00060 UpdateHash(HashInfo *,const StringInfo *); 00061 00062 #if defined(__cplusplus) || defined(c_plusplus) 00063 } 00064 #endif 00065 00066 #endif