📄 sha1.h
字号:
/******************************************************************************//* *//* Functions for arithmetic and number theory with large integers in C *//* Software supplement to the book "Cryptography in C and C++" *//* by Michael Welschenbach *//* *//* Module sha1.h Revision: 01.07.2002 *//* *//* Copyright (C) 1998-2005 by Michael Welschenbach *//* Copyright (C) 1998-2005 by Springer-Verlag Berlin, Heidelberg *//* Copyright (C) 2001-2005 by Apress L.P., Berkeley, CA *//* Copyright (C) 2002-2005 by Wydawnictwa MIKOM, Poland *//* Copyright (C) 2002-2005 by PHEI, P.R.China *//* Copyright (C) 2002-2005 by InfoBook, Korea *//* Copyright (C) 2002-2005 by Triumph Publishing, Russia *//* *//* All Rights Reserved *//* *//* The software may be used for noncommercial purposes and may be altered, *//* as long as the following conditions are accepted without any *//* qualification: *//* *//* (1) All changes to the sources must be identified in such a way that the *//* changed software cannot be misinterpreted as the original software. *//* *//* (2) The statements of copyright may not be removed or altered. *//* *//* (3) The following DISCLAIMER is accepted: *//* *//* DISCLAIMER: *//* *//* There is no warranty for the software contained in this distribution, to *//* the extent permitted by applicable law. The copyright holders provide the *//* There is no warranty for the software contained on this CD-ROM, to the *//* extent permitted by applicable law. The copyright holders provide the *//* software `as is' without warranty of any kind, either expressed or *//* implied, including, but not limited to, the implied warranty of fitness *//* for a particular purpose. The entire risk as to the quality and *//* performance of the program is with you. *//* *//* In no event unless required by applicable law or agreed to in writing *//* will the copyright holders, or any of the individual authors named in *//* the source files, be liable to you for damages, including any general, *//* special, incidental or consequential damages arising out of any use of *//* the software or out of inability to use the software (including but not *//* limited to any financial losses, loss of data or data being rendered *//* inaccurate or losses sustained by you or by third parties as a result of *//* a failure of the software to operate with any other programs), even if *//* such holder or other party has been advised of the possibility of such *//* damages. *//* *//******************************************************************************/#ifndef __SHA1H__#define __SHA1H__#ifdef __cplusplusextern "C" {#endif#define SHALEN 160#define E_CLINT_SHA -20/* Macros maintaining FLINT/C namespace */#define sha1init sha1init_l#define sha1hash sha1hash_l#define sha1finish sha1finish_l#define sha1 sha1_lstruct sha1_stat { unsigned long stomach[5]; unsigned long total[2];};typedef struct sha1_stat SHASTAT;/***********************************************************//* Function prototypes of SHA1- API *//***********************************************************/#ifndef __FLINT_API#ifdef FLINT_USEDLL#define __FLINT_API __cdecl#else#define __FLINT_API /**/#endif /* FLINT_USEDLL */#endif /* !defined __FLINT_API */#if !defined __FLINT_API_A#if defined __GNUC__ && !defined __cdecl#define __FLINT_API_A /**/#else#define __FLINT_API_A __cdecl#endif /* !defined __GNUC__ */#endif /* !defined __FLINT_API_A *//* If the FLINT/C-Package is used under MS Visual C/C++ as DLL, *//* all modules accessing data nul_l, one_l, two_l or smallprimes from outside *//* the DLL must be compiled with -D__FLINT_API_DATA=__declspec(dllimport) */#ifndef __FLINT_API_DATA#if (defined _MSC_VER && _MSC_VER >= 11) && defined FLINT_USEDLL#define __FLINT_API_DATA __declspec(dllimport)#else#define __FLINT_API_DATA /**/#endif /* MSC_VER && FLINT_USEDLL */#endif /* !defined __FLINT_API_DATA */extern void __FLINT_API sha1init_l (SHASTAT *);extern int __FLINT_API sha1hash_l (SHASTAT *, unsigned char *, unsigned long);extern void __FLINT_API sha1finish_l (unsigned char *, SHASTAT *, unsigned char *, unsigned long);extern void __FLINT_API sha1_l (unsigned char *, unsigned char *, unsigned long);#ifdef __cplusplus}#endif#endif /* __SHA1H__ */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -