Blender V5.0
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#pragma once
14
15#include "util/string.h"
16
18
19class MD5Hash {
20 public:
21 MD5Hash();
23
24 void append(const uint8_t *data, const int nbytes);
25 void append(const string &str);
26 bool append_file(const string &filepath);
27 string get_hex();
28
29 protected:
30 void process(const uint8_t *data);
31 void finish(uint8_t digest[16]);
32
33 uint32_t count[2]; /* message length in bits, LSW first. */
34 uint32_t abcd[4]; /* digest buffer */
35 uint8_t buf[64]; /* accumulate block */
36};
37
38string util_md5_string(const string &str);
39
BMesh const char void * data
bool append_file(const string &filepath)
Definition md5.cpp:317
void append(const uint8_t *data, const int nbytes)
Definition md5.cpp:268
string get_hex()
Definition md5.cpp:367
uint8_t buf[64]
Definition md5.h:35
void finish(uint8_t digest[16])
Definition md5.cpp:342
MD5Hash()
Definition md5.cpp:257
void process(const uint8_t *data)
Definition md5.cpp:86
uint32_t abcd[4]
Definition md5.h:34
uint32_t count[2]
Definition md5.h:33
#define CCL_NAMESPACE_END
#define str(s)
string util_md5_string(const string &str)
Definition md5.cpp:386