Blender V4.3
md5.h
Go to the documentation of this file.
1/* SPDX-FileCopyrightText: 1999, 2002 Aladdin Enterprises. All rights reserved.
2 *
3 * SPDX-License-Identifier: Zlib
4 *
5 * By `L. Peter Deutsch <ghost@aladdin.com>`. */
6
7/* MD5
8 *
9 * Simply MD5 hash computation, used by disk cache. Adapted from external
10 * code, with minor code modifications done to remove some unused code and
11 * change code style. */
12
13#ifndef __UTIL_MD5_H__
14#define __UTIL_MD5_H__
15
16#include "util/string.h"
17#include "util/types.h"
18
20
21class MD5Hash {
22 public:
23 MD5Hash();
24 ~MD5Hash();
25
26 void append(const uint8_t *data, int size);
27 void append(const string &str);
28 bool append_file(const string &filepath);
29 string get_hex();
30
31 protected:
32 void process(const uint8_t *data);
33 void finish(uint8_t digest[16]);
34
35 uint32_t count[2]; /* message length in bits, LSW first. */
36 uint32_t abcd[4]; /* digest buffer */
37 uint8_t buf[64]; /* accumulate block */
38};
39
40string util_md5_string(const string &str);
41
43
44#endif /* __UTIL_MD5_H__ */
Definition md5.h:21
bool append_file(const string &filepath)
Definition md5.cpp:304
string get_hex()
Definition md5.cpp:354
uint8_t buf[64]
Definition md5.h:37
~MD5Hash()
Definition md5.cpp:253
void finish(uint8_t digest[16])
Definition md5.cpp:329
MD5Hash()
Definition md5.cpp:244
void process(const uint8_t *data)
Definition md5.cpp:83
uint32_t abcd[4]
Definition md5.h:36
uint32_t count[2]
Definition md5.h:35
append
#define CCL_NAMESPACE_END
#define str(s)
string util_md5_string(const string &str)
Definition md5.cpp:373
unsigned int uint32_t
Definition stdint.h:80
unsigned char uint8_t
Definition stdint.h:78