00001 /*! \file sha.h 00002 Header file for sha.c. 00003 */ 00004 00005 #ifdef __cplusplus 00006 extern "C" { 00007 #endif 00008 00009 #ifndef SHA_H 00010 00011 /* SHA.H */ 00012 /* 00013 * The contents of this file are subject to the Mozilla Public 00014 * License Version 1.1 (the "License"); you may not use this file 00015 * except in compliance with the License. You may obtain a copy of 00016 * the License at http://www.mozilla.org/MPL/ 00017 * 00018 * Software distributed under the License is distributed on an "AS 00019 * IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or 00020 * implied. See the License for the specific language governing 00021 * rights and limitations under the License. 00022 * 00023 * The Original Code is SHA 180-1 Header File 00024 * 00025 * The Initial Developer of the Original Code is Paul Kocher of 00026 * Cryptography Research. Portions created by Paul Kocher are 00027 * Copyright (C) 1995-9 by Cryptography Research, Inc. All 00028 * Rights Reserved. 00029 * 00030 * Contributor(s): 00031 * 00032 * Paul Kocher 00033 * 00034 * Alternatively, the contents of this file may be used under the 00035 * terms of the GNU General Public License Version 2 or later (the 00036 * "GPL"), in which case the provisions of the GPL are applicable 00037 * instead of those above. If you wish to allow use of your 00038 * version of this file only under the terms of the GPL and not to 00039 * allow others to use your version of this file under the MPL, 00040 * indicate your decision by deleting the provisions above and 00041 * replace them with the notice and other provisions required by 00042 * the GPL. If you do not delete the provisions above, a recipient 00043 * may use your version of this file under either the MPL or the 00044 * GPL. 00045 */ 00046 00047 typedef struct { 00048 unsigned long H[5]; 00049 unsigned long W[80]; 00050 int lenW; 00051 unsigned long sizeHi,sizeLo; 00052 } SHA_CTX; 00053 00054 00055 void shaInit(SHA_CTX *ctx); 00056 void shaUpdate(SHA_CTX *ctx, unsigned char *dataIn, int len); 00057 void shaFinal(SHA_CTX *ctx, unsigned char hashout[20]); 00058 void shaBlock(unsigned char *dataIn, int len, unsigned char hashout[20]); 00059 void shahash_r(const char*, char [41]); 00060 00061 00062 #define SHA_H 00063 #endif 00064 00065 #ifdef __cplusplus 00066 } 00067 #endif 00068