FFmpeg
9.0.2
Toggle main menu visibility
Loading...
Searching...
No Matches
libavutil
sha512.h
Go to the documentation of this file.
1
/*
2
* Copyright (C) 2007 Michael Niedermayer <michaelni@gmx.at>
3
* Copyright (C) 2013 James Almer <jamrial@gmail.com>
4
*
5
* This file is part of FFmpeg.
6
*
7
* FFmpeg is free software; you can redistribute it and/or
8
* modify it under the terms of the GNU Lesser General Public
9
* License as published by the Free Software Foundation; either
10
* version 2.1 of the License, or (at your option) any later version.
11
*
12
* FFmpeg is distributed in the hope that it will be useful,
13
* but WITHOUT ANY WARRANTY; without even the implied warranty of
14
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
15
* Lesser General Public License for more details.
16
*
17
* You should have received a copy of the GNU Lesser General Public
18
* License along with FFmpeg; if not, write to the Free Software
19
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
20
*/
21
22
/**
23
* @file
24
* @ingroup lavu_sha512
25
* Public header for SHA-512 implementation.
26
*/
27
28
#ifndef AVUTIL_SHA512_H
29
#define AVUTIL_SHA512_H
30
31
#include <stddef.h>
32
#include <stdint.h>
33
34
#include "
attributes.h
"
35
36
/**
37
* @defgroup lavu_sha512 SHA-512
38
* @ingroup lavu_hash
39
* SHA-512 (Secure Hash Algorithm) hash function implementations.
40
*
41
* This module supports the following SHA-2 hash functions:
42
*
43
* - SHA-512/224: 224 bits
44
* - SHA-512/256: 256 bits
45
* - SHA-384: 384 bits
46
* - SHA-512: 512 bits
47
*
48
* @see For SHA-1, SHA-256, and variants thereof, see @ref lavu_sha.
49
*
50
* @{
51
*/
52
53
extern
const
int
av_sha512_size
;
54
55
struct
AVSHA512;
56
57
/**
58
* Allocate an AVSHA512 context.
59
*/
60
struct
AVSHA512 *
av_sha512_alloc
(
void
);
61
62
/**
63
* Initialize SHA-2 512 hashing.
64
*
65
* @param context pointer to the function context (of size av_sha512_size)
66
* @param bits number of bits in digest (224, 256, 384 or 512 bits)
67
* @return zero if initialization succeeded, -1 otherwise
68
*/
69
int
av_sha512_init
(
struct
AVSHA512* context,
int
bits);
70
71
/**
72
* Update hash value.
73
*
74
* @param context hash function context
75
* @param data input data to update hash with
76
* @param len input data length
77
*/
78
void
av_sha512_update
(
struct
AVSHA512* context,
const
uint8_t* data,
size_t
len);
79
80
/**
81
* Finish hashing and output digest value.
82
*
83
* @param context hash function context
84
* @param digest buffer where output digest value is stored
85
*/
86
void
av_sha512_final
(
struct
AVSHA512* context, uint8_t *digest);
87
88
/**
89
* @}
90
*/
91
92
#endif
/* AVUTIL_SHA512_H */
attributes.h
Macro definitions for various function/variable attributes.
av_sha512_alloc
struct AVSHA512 * av_sha512_alloc(void)
Allocate an AVSHA512 context.
av_sha512_init
int av_sha512_init(struct AVSHA512 *context, int bits)
Initialize SHA-2 512 hashing.
av_sha512_final
void av_sha512_final(struct AVSHA512 *context, uint8_t *digest)
Finish hashing and output digest value.
av_sha512_size
const int av_sha512_size
av_sha512_update
void av_sha512_update(struct AVSHA512 *context, const uint8_t *data, size_t len)
Update hash value.
Generated by
1.17.0