]>
Commit | Line | Data |
---|---|---|
0b4e3aa0 A |
1 | /* |
2 | * Copyright (c) 1999, 2000-2001 Apple Computer, Inc. All rights reserved. | |
3 | * | |
4 | * @APPLE_LICENSE_HEADER_START@ | |
5 | * | |
6 | * The contents of this file constitute Original Code as defined in and | |
7 | * are subject to the Apple Public Source License Version 1.1 (the | |
8 | * "License"). You may not use this file except in compliance with the | |
9 | * License. Please obtain a copy of the License at | |
10 | * http://www.apple.com/publicsource and read it before using this file. | |
11 | * | |
12 | * This Original Code and all software distributed under the License are | |
13 | * distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, EITHER | |
14 | * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, | |
15 | * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, | |
16 | * FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT. Please see the | |
17 | * License for the specific language governing rights and limitations | |
18 | * under the License. | |
19 | * | |
20 | * @APPLE_LICENSE_HEADER_END@ | |
21 | */ | |
22 | ||
23 | /* | |
24 | SHA-1 in C | |
25 | By Steve Reid <steve@edmweb.com> | |
26 | 100% Public Domain | |
27 | */ | |
28 | /* Header portion split from main code for convenience (AYB 3/02/98) */ | |
29 | ||
30 | #ifndef __SHA1_H__ | |
31 | ||
32 | #define __SHA1_H__ | |
33 | ||
34 | /* | |
35 | Test Vectors (from FIPS PUB 180-1) | |
36 | "abc" | |
37 | A9993E36 4706816A BA3E2571 7850C26C 9CD0D89D | |
38 | "abcdbcdecdefdefgefghfghighijhijkijkljklmklmnlmnomnopnopq" | |
39 | 84983E44 1C3BD26E BAAE4AA1 F95129E5 E54670F1 | |
40 | A million repetitions of "a" | |
41 | 34AA973C D4C4DAA4 F61EEB2B DBAD2731 6534016F | |
42 | */ | |
43 | ||
44 | /* Apple change - define this in the source file which uses it */ | |
45 | /* #define LITTLE_ENDIAN This should be #define'd if true. */ | |
46 | #define SHA1HANDSOFF /* Copies data before messing with it. */ | |
47 | ||
48 | //Context declaration | |
49 | typedef struct { | |
50 | unsigned long state[5]; | |
51 | unsigned long count[2]; | |
52 | unsigned char buffer[64]; | |
53 | } SHA1_CTX; | |
54 | ||
55 | //Function forward declerations | |
56 | void SHA1Transform(unsigned long state[5], unsigned char buffer[64]); | |
57 | void SHA1Init(SHA1_CTX* context); | |
58 | void SHA1Update(SHA1_CTX* context, unsigned char* data, unsigned int len); | |
59 | void SHA1Final(unsigned char digest[20], SHA1_CTX* context); | |
60 | ||
61 | #endif /* __SHA1_H__ */ |