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
30extern "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
82APU_DECLARE(void) apr_sha1_base64(const char *clear, int len, char *out);
83
88APU_DECLARE(void) apr_sha1_init(apr_sha1_ctx_t *context);
89
96APU_DECLARE(void) apr_sha1_update(apr_sha1_ctx_t *context, const char *input,
97 unsigned int inputLen);
98
105APU_DECLARE(void) apr_sha1_update_binary(apr_sha1_ctx_t *context,
106 const unsigned char *input,
107 unsigned int inputLen);
108
114APU_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_final(unsigned char digest[APR_SHA1_DIGESTSIZE], apr_sha1_ctx_t *context)
void apr_sha1_base64(const char *clear, int len, char *out)
void apr_sha1_update_binary(apr_sha1_ctx_t *context, const unsigned char *input, unsigned int inputLen)
void apr_sha1_init(apr_sha1_ctx_t *context)
void apr_sha1_update(apr_sha1_ctx_t *context, const char *input, unsigned int inputLen)
#define APR_SHA1_DIGESTSIZE
Definition: apr_sha1.h:39
Definition: apr_sha1.h:56
apr_uint32_t digest[5]
Definition: apr_sha1.h:58
int local
Definition: apr_sha1.h:64
apr_uint32_t count_lo
Definition: apr_sha1.h:60
apr_uint32_t data[16]
Definition: apr_sha1.h:62