GNU libmicrohttpd
1.0.6
Toggle main menu visibility
Loading...
Searching...
No Matches
sha1.h
Go to the documentation of this file.
1
/*
2
This file is part of libmicrohttpd
3
Copyright (C) 2019-2021 Karlson2k (Evgeny Grin)
4
5
This library is free software; you can redistribute it and/or
6
modify it under the terms of the GNU Lesser General Public
7
License as published by the Free Software Foundation; either
8
version 2.1 of the License, or (at your option) any later version.
9
10
This library is distributed in the hope that it will be useful,
11
but WITHOUT ANY WARRANTY; without even the implied warranty of
12
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13
Lesser General Public License for more details.
14
15
You should have received a copy of the GNU Lesser General Public
16
License along with this library.
17
If not, see <http://www.gnu.org/licenses/>.
18
*/
19
25
26
#ifndef MHD_SHA1_H
27
#define MHD_SHA1_H 1
28
29
#include "
mhd_options.h
"
30
#include <stdint.h>
31
#ifdef HAVE_STDDEF_H
32
#include <stddef.h>
/* for size_t */
33
#endif
/* HAVE_STDDEF_H */
34
38
#define _SHA1_DIGEST_LENGTH 5
39
43
#define SHA1_WORD_SIZE_BITS 32
44
48
#define SHA1_BYTES_IN_WORD (SHA1_WORD_SIZE_BITS / 8)
49
53
#define SHA1_DIGEST_SIZE (_SHA1_DIGEST_LENGTH * SHA1_BYTES_IN_WORD)
54
58
#define SHA1_DIGEST_STRING_SIZE ((SHA1_DIGEST_SIZE) * 2 + 1)
59
63
#define SHA1_BLOCK_SIZE_BITS 512
64
68
#define SHA1_BLOCK_SIZE (SHA1_BLOCK_SIZE_BITS / 8)
69
70
71
struct
sha1_ctx
72
{
73
uint32_t
H
[
_SHA1_DIGEST_LENGTH
];
74
uint8_t
buffer
[
SHA1_BLOCK_SIZE
];
75
uint64_t
count
;
76
};
77
83
void
84
MHD_SHA1_init
(
void
*ctx_);
85
86
94
void
95
MHD_SHA1_update
(
void
*ctx_,
96
const
uint8_t *
data
,
97
size_t
length);
98
99
106
void
107
MHD_SHA1_finish
(
void
*ctx_,
108
uint8_t digest[
SHA1_DIGEST_SIZE
]);
109
110
#endif
/* MHD_SHA1_H */
mhd_options.h
additional automatic macros for MHD_config.h
data
void * data
Definition
microhttpd.h:4030
MHD_SHA1_update
void MHD_SHA1_update(void *ctx_, const uint8_t *data, size_t length)
Definition
sha1.c:252
MHD_SHA1_finish
void MHD_SHA1_finish(void *ctx_, uint8_t digest[SHA1_DIGEST_SIZE])
Definition
sha1.c:314
_SHA1_DIGEST_LENGTH
#define _SHA1_DIGEST_LENGTH
Definition
sha1.h:38
SHA1_DIGEST_SIZE
#define SHA1_DIGEST_SIZE
Definition
sha1.h:53
SHA1_BLOCK_SIZE
#define SHA1_BLOCK_SIZE
Definition
sha1.h:68
MHD_SHA1_init
void MHD_SHA1_init(void *ctx_)
Definition
sha1.c:41
sha1_ctx
Definition
sha1.h:72
sha1_ctx::count
uint64_t count
Definition
sha1.h:75
sha1_ctx::buffer
uint8_t buffer[SHA1_BLOCK_SIZE]
Definition
sha1.h:74
sha1_ctx::H
uint32_t H[_SHA1_DIGEST_LENGTH]
Definition
sha1.h:73
src
microhttpd
sha1.h
Generated by
1.17.0