Main Page
Related Pages
Modules
Namespaces
Namespace List
Namespace Members
All
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Functions
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Variables
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Typedefs
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
r
s
t
u
v
w
y
z
Enumerations
a
b
c
d
e
f
g
h
i
j
l
m
n
o
p
r
s
t
u
v
w
Enumerator
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
r
s
t
u
z
Classes
Class List
Class Hierarchy
Class Members
All
:
[
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
~
Functions
[
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
~
Variables
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Typedefs
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
r
s
t
u
v
w
y
Enumerations
a
b
c
d
e
f
h
i
k
l
m
n
o
p
r
s
t
u
v
w
Enumerator
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
z
Properties
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
r
s
t
u
v
w
Related Functions
:
a
b
c
d
e
f
g
h
i
j
l
m
n
o
p
q
r
s
t
u
v
w
z
Files
File List
File Members
All
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Functions
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
z
Variables
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Typedefs
_
a
b
c
d
e
f
g
h
i
k
l
m
n
o
p
q
r
s
t
u
v
w
x
z
Enumerations
_
a
b
c
d
e
f
g
h
i
k
l
m
n
o
p
r
s
t
u
v
w
x
Enumerator
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
r
s
t
u
v
w
x
Macros
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
grpc
third_party
boringssl-with-bazel
src
include
openssl
md4.h
Go to the documentation of this file.
1
/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com)
2
* All rights reserved.
3
*
4
* This package is an SSL implementation written
5
* by Eric Young (eay@cryptsoft.com).
6
* The implementation was written so as to conform with Netscapes SSL.
7
*
8
* This library is free for commercial and non-commercial use as long as
9
* the following conditions are aheared to. The following conditions
10
* apply to all code found in this distribution, be it the RC4, RSA,
11
* lhash, DES, etc., code; not just the SSL code. The SSL documentation
12
* included with this distribution is covered by the same copyright terms
13
* except that the holder is Tim Hudson (tjh@cryptsoft.com).
14
*
15
* Copyright remains Eric Young's, and as such any Copyright notices in
16
* the code are not to be removed.
17
* If this package is used in a product, Eric Young should be given attribution
18
* as the author of the parts of the library used.
19
* This can be in the form of a textual message at program startup or
20
* in documentation (online or textual) provided with the package.
21
*
22
* Redistribution and use in source and binary forms, with or without
23
* modification, are permitted provided that the following conditions
24
* are met:
25
* 1. Redistributions of source code must retain the copyright
26
* notice, this list of conditions and the following disclaimer.
27
* 2. Redistributions in binary form must reproduce the above copyright
28
* notice, this list of conditions and the following disclaimer in the
29
* documentation and/or other materials provided with the distribution.
30
* 3. All advertising materials mentioning features or use of this software
31
* must display the following acknowledgement:
32
* "This product includes cryptographic software written by
33
* Eric Young (eay@cryptsoft.com)"
34
* The word 'cryptographic' can be left out if the rouines from the library
35
* being used are not cryptographic related :-).
36
* 4. If you include any Windows specific code (or a derivative thereof) from
37
* the apps directory (application code) you must include an acknowledgement:
38
* "This product includes software written by Tim Hudson (tjh@cryptsoft.com)"
39
*
40
* THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND
41
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
42
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
43
* ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
44
* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
45
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
46
* OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
47
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
48
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
49
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
50
* SUCH DAMAGE.
51
*
52
* The licence and distribution terms for any publically available version or
53
* derivative of this code cannot be changed. i.e. this code cannot simply be
54
* copied and put under another distribution licence
55
* [including the GNU Public Licence.] */
56
57
#ifndef OPENSSL_HEADER_MD4_H
58
#define OPENSSL_HEADER_MD4_H
59
60
#include <
openssl/base.h
>
61
62
#if defined(__cplusplus)
63
extern
"C"
{
64
#endif
65
66
67
// MD4.
68
69
// MD4_CBLOCK is the block size of MD4.
70
#define MD4_CBLOCK 64
71
72
// MD4_DIGEST_LENGTH is the length of an MD4 digest.
73
#define MD4_DIGEST_LENGTH 16
74
75
// MD4_Init initialises |md4| and returns one.
76
OPENSSL_EXPORT
int
MD4_Init
(
MD4_CTX
*
md4
);
77
78
// MD4_Update adds |len| bytes from |data| to |md4| and returns one.
79
OPENSSL_EXPORT
int
MD4_Update
(
MD4_CTX
*
md4
,
const
void
*
data
,
size_t
len
);
80
81
// MD4_Final adds the final padding to |md4| and writes the resulting digest to
82
// |out|, which must have at least |MD4_DIGEST_LENGTH| bytes of space. It
83
// returns one.
84
OPENSSL_EXPORT
int
MD4_Final
(
uint8_t
out
[
MD4_DIGEST_LENGTH
],
MD4_CTX
*
md4
);
85
86
// MD4 writes the digest of |len| bytes from |data| to |out| and returns |out|.
87
// There must be at least |MD4_DIGEST_LENGTH| bytes of space in |out|.
88
OPENSSL_EXPORT
uint8_t
*
MD4
(
const
uint8_t
*
data
,
size_t
len
,
89
uint8_t
out
[
MD4_DIGEST_LENGTH
]);
90
91
// MD4_Transform is a low-level function that performs a single, MD4 block
92
// transformation using the state from |md4| and 64 bytes from |block|.
93
OPENSSL_EXPORT
void
MD4_Transform
(
MD4_CTX
*
md4
,
94
const
uint8_t
block
[
MD4_CBLOCK
]);
95
96
struct
md4_state_st
{
97
uint32_t
h
[4];
98
uint32_t
Nl
,
Nh
;
99
uint8_t
data
[
MD4_CBLOCK
];
100
unsigned
num
;
101
};
102
103
104
#if defined(__cplusplus)
105
}
// extern C
106
#endif
107
108
#endif // OPENSSL_HEADER_MD4_H
gen_build_yaml.out
dictionary out
Definition:
src/benchmark/gen_build_yaml.py:24
md4_state_st::Nl
uint32_t Nl
Definition:
md4.h:98
MD4_CBLOCK
#define MD4_CBLOCK
Definition:
md4.h:70
md4_state_st::num
unsigned num
Definition:
md4.h:100
MD4_Final
OPENSSL_EXPORT int MD4_Final(uint8_t out[MD4_DIGEST_LENGTH], MD4_CTX *md4)
Definition:
md4.c:98
MD4_DIGEST_LENGTH
#define MD4_DIGEST_LENGTH
Definition:
md4.h:73
uint8_t
unsigned char uint8_t
Definition:
stdint-msvc2008.h:78
MD4_Transform
OPENSSL_EXPORT void MD4_Transform(MD4_CTX *md4, const uint8_t block[MD4_CBLOCK])
Definition:
md4.c:88
MD4_Init
OPENSSL_EXPORT int MD4_Init(MD4_CTX *md4)
Definition:
md4.c:77
base.h
block
Block * block
Definition:
protobuf/src/google/protobuf/descriptor.cc:1041
md4
static const MD md4
Definition:
digest_test.cc:49
uint32_t
unsigned int uint32_t
Definition:
stdint-msvc2008.h:80
md4_state_st::data
uint8_t data[MD4_CBLOCK]
Definition:
md4.h:99
MD4_Update
OPENSSL_EXPORT int MD4_Update(MD4_CTX *md4, const void *data, size_t len)
Definition:
md4.c:92
data
char data[kBufferLength]
Definition:
abseil-cpp/absl/strings/internal/str_format/float_conversion.cc:1006
MD4
OPENSSL_EXPORT uint8_t * MD4(const uint8_t *data, size_t len, uint8_t out[MD4_DIGEST_LENGTH])
Definition:
md4.c:66
OPENSSL_EXPORT
#define OPENSSL_EXPORT
Definition:
base.h:222
md4_state_st::h
uint32_t h[4]
Definition:
md4.h:97
md4_state_st::Nh
uint32_t Nh
Definition:
md4.h:98
md4_state_st
Definition:
md4.h:96
len
int len
Definition:
abseil-cpp/absl/base/internal/low_level_alloc_test.cc:46
grpc
Author(s):
autogenerated on Thu Mar 13 2025 03:00:35