FFmpeg
libavutil
md5.h
Go to the documentation of this file.
1
/*
2
* copyright (c) 2006 Michael Niedermayer <michaelni@gmx.at>
3
*
4
* This file is part of FFmpeg.
5
*
6
* FFmpeg is free software; you can redistribute it and/or
7
* modify it under the terms of the GNU Lesser General Public
8
* License as published by the Free Software Foundation; either
9
* version 2.1 of the License, or (at your option) any later version.
10
*
11
* FFmpeg is distributed in the hope that it will be useful,
12
* but WITHOUT ANY WARRANTY; without even the implied warranty of
13
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14
* Lesser General Public License for more details.
15
*
16
* You should have received a copy of the GNU Lesser General Public
17
* License along with FFmpeg; if not, write to the Free Software
18
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
19
*/
20
21
/**
22
* @file
23
* @ingroup lavu_md5
24
* Public header for MD5 hash function implementation.
25
*/
26
27
#ifndef AVUTIL_MD5_H
28
#define AVUTIL_MD5_H
29
30
#include <stddef.h>
31
#include <stdint.h>
32
33
#include "
attributes.h
"
34
#include "
version.h
"
35
36
/**
37
* @defgroup lavu_md5 MD5
38
* @ingroup lavu_hash
39
* MD5 hash function implementation.
40
*
41
* @{
42
*/
43
44
extern
const
int
av_md5_size
;
45
46
struct
AVMD5
;
47
48
/**
49
* Allocate an AVMD5 context.
50
*/
51
struct
AVMD5
*
av_md5_alloc
(
void
);
52
53
/**
54
* Initialize MD5 hashing.
55
*
56
* @param ctx pointer to the function context (of size av_md5_size)
57
*/
58
void
av_md5_init
(
struct
AVMD5
*
ctx
);
59
60
/**
61
* Update hash value.
62
*
63
* @param ctx hash function context
64
* @param src input data to update hash with
65
* @param len input data length
66
*/
67
#if FF_API_CRYPTO_SIZE_T
68
void
av_md5_update
(
struct
AVMD5
*
ctx
,
const
uint8_t
*
src
,
int
len
);
69
#else
70
void
av_md5_update
(
struct
AVMD5
*
ctx
,
const
uint8_t
*
src
,
size_t
len
);
71
#endif
72
73
/**
74
* Finish hashing and output digest value.
75
*
76
* @param ctx hash function context
77
* @param dst buffer where output digest value is stored
78
*/
79
void
av_md5_final
(
struct
AVMD5
*
ctx
,
uint8_t
*dst);
80
81
/**
82
* Hash an array of data.
83
*
84
* @param dst The output buffer to write the digest into
85
* @param src The data to hash
86
* @param len The length of the data, in bytes
87
*/
88
#if FF_API_CRYPTO_SIZE_T
89
void
av_md5_sum
(
uint8_t
*dst,
const
uint8_t
*
src
,
const
int
len
);
90
#else
91
void
av_md5_sum
(
uint8_t
*dst,
const
uint8_t
*
src
,
size_t
len
);
92
#endif
93
94
/**
95
* @}
96
*/
97
98
#endif
/* AVUTIL_MD5_H */
av_md5_sum
void av_md5_sum(uint8_t *dst, const uint8_t *src, const int len)
Hash an array of data.
Definition:
md5.c:208
av_md5_size
const int av_md5_size
Definition:
md5.c:46
AVMD5
Definition:
md5.c:40
src
#define src
Definition:
vp8dsp.c:254
ctx
AVFormatContext * ctx
Definition:
movenc.c:48
attributes.h
av_md5_init
void av_md5_init(struct AVMD5 *ctx)
Initialize MD5 hashing.
Definition:
md5.c:143
uint8_t
uint8_t
Definition:
audio_convert.c:194
len
int len
Definition:
vorbis_enc_data.h:452
av_md5_final
void av_md5_final(struct AVMD5 *ctx, uint8_t *dst)
Finish hashing and output digest value.
Definition:
md5.c:192
version.h
av_md5_update
void av_md5_update(struct AVMD5 *ctx, const uint8_t *src, int len)
Update hash value.
Definition:
md5.c:154
av_md5_alloc
struct AVMD5 * av_md5_alloc(void)
Allocate an AVMD5 context.
Definition:
md5.c:48
Generated on Wed Aug 24 2022 21:27:28 for FFmpeg by
1.8.17