libaaruformat
1.0
Aaru Data Preservation Suite - Format Library
Loading...
Searching...
No Matches
sha1.h
Go to the documentation of this file.
1
/*
2
* Public domain or MIT-licensed SHA-1 implementation for libaaruformat.
3
*
4
* Based on a clean-room implementation referencing the FIPS PUB 180-1 specification.
5
*
6
* This code is released into the public domain. If that is not recognized
7
* in your jurisdiction, you may treat it under the terms of the MIT license:
8
*
9
* MIT License
10
* Permission is hereby granted, free of charge, to any person obtaining a copy
11
* of this software and associated documentation files (the "Software"), to deal
12
* in the Software without restriction, including without limitation the rights
13
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
14
* copies of the Software, and to permit persons to whom the Software is
15
* furnished to do so, subject to the following conditions:
16
*
17
* The above copyright notice and this permission notice shall be included in all
18
* copies or substantial portions of the Software.
19
*
20
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
21
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
22
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
23
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
24
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
25
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
26
* SOFTWARE.
27
*/
28
#ifndef LIBAARUFORMAT_SHA1_H
29
#define LIBAARUFORMAT_SHA1_H
30
31
#include <stdint.h>
32
33
#ifdef __cplusplus
34
extern
"C"
35
{
36
#endif
37
38
#ifndef SHA1_DIGEST_LENGTH
39
#define SHA1_DIGEST_LENGTH 20
40
#endif
41
42
typedef
struct
43
{
44
uint32_t
state
[5];
/* A,B,C,D,E */
45
uint64_t
count
;
/* Bits processed */
46
uint8_t
buffer
[64];
47
}
sha1_ctx
;
48
49
#ifdef __cplusplus
50
}
51
#endif
52
53
#endif
/* LIBAARUFORMAT_SHA1_H */
sha1_ctx
Definition
sha1.h:43
sha1_ctx::count
uint64_t count
Definition
sha1.h:45
sha1_ctx::buffer
uint8_t buffer[64]
Definition
sha1.h:46
sha1_ctx::state
uint32_t state[5]
Definition
sha1.h:44
include
sha1.h
Generated by
1.14.0