Apache Portable Runtime Utility Library
apr_sha1.h
Go to the documentation of this file.
1 /* Licensed to the Apache Software Foundation (ASF) under one or more
2  * contributor license agreements. See the NOTICE file distributed with
3  * this work for additional information regarding copyright ownership.
4  * The ASF licenses this file to You under the Apache License, Version 2.0
5  * (the "License"); you may not use this file except in compliance with
6  * the License. You may obtain a copy of the License at
7  *
8  * http://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  */
16 /* NIST Secure Hash Algorithm
17  * heavily modified by Uwe Hollerbach uh@alumni.caltech edu
18  * from Peter C. Gutmann's implementation as found in
19  * Applied Cryptography by Bruce Schneier
20  * This code is hereby placed in the public domain
21  */
22 
23 #ifndef APR_SHA1_H
24 #define APR_SHA1_H
25 
26 #include "apu.h"
27 #include "apr_general.h"
28 
29 #ifdef __cplusplus
30 extern "C" {
31 #endif
32 
39 #define APR_SHA1_DIGESTSIZE 20
40 
45 #define APR_SHA1PW_ID "{SHA}"
46 
48 #define APR_SHA1PW_IDLEN 5
49 
52 
58  apr_uint32_t digest[5];
60  apr_uint32_t count_lo, count_hi;
62  apr_uint32_t data[16];
64  int local;
65 };
66 
82 APU_DECLARE(void) apr_sha1_base64(const char *clear, int len, char *out);
83 
88 APU_DECLARE(void) apr_sha1_init(apr_sha1_ctx_t *context);
89 
96 APU_DECLARE(void) apr_sha1_update(apr_sha1_ctx_t *context, const char *input,
97  unsigned int inputLen);
98 
105 APU_DECLARE(void) apr_sha1_update_binary(apr_sha1_ctx_t *context,
106  const unsigned char *input,
107  unsigned int inputLen);
108 
114 APU_DECLARE(void) apr_sha1_final(unsigned char digest[APR_SHA1_DIGESTSIZE],
115  apr_sha1_ctx_t *context);
116 
117 #ifdef __cplusplus
118 }
119 #endif
120 
121 #endif /* APR_SHA1_H */
void apr_sha1_update_binary(apr_sha1_ctx_t *context, const unsigned char *input, unsigned int inputLen)
void apr_sha1_update(apr_sha1_ctx_t *context, const char *input, unsigned int inputLen)
Definition: apr_sha1.h:56
int local
Definition: apr_sha1.h:64
void apr_sha1_init(apr_sha1_ctx_t *context)
apr_uint32_t count_lo
Definition: apr_sha1.h:60
void apr_sha1_base64(const char *clear, int len, char *out)
#define APR_SHA1_DIGESTSIZE
Definition: apr_sha1.h:39
void apr_sha1_final(unsigned char digest[APR_SHA1_DIGESTSIZE], apr_sha1_ctx_t *context)
apr_uint32_t digest[5]
Definition: apr_sha1.h:58