aboutsummaryrefslogtreecommitdiff
path: root/CPP/Common/Md5Reg.cpp
diff options
context:
space:
mode:
authorIgor Pavlov <87184205+ip7z@users.noreply.github.com>2024-11-29 00:00:00 +0000
committerIgor Pavlov <87184205+ip7z@users.noreply.github.com>2024-11-30 15:27:15 +0500
commite5431fa6f5505e385c6f9367260717e9c47dc2ee (patch)
tree4cd2c2c3b225b48c8e7053432c41d7b6b6a3d5f8 /CPP/Common/Md5Reg.cpp
parente008ce3976c087bfd21344af8f00a23cf69d4174 (diff)
download7zip-24.09.tar.gz
7zip-24.09.tar.bz2
7zip-24.09.zip
Diffstat (limited to 'CPP/Common/Md5Reg.cpp')
-rw-r--r--CPP/Common/Md5Reg.cpp44
1 files changed, 44 insertions, 0 deletions
diff --git a/CPP/Common/Md5Reg.cpp b/CPP/Common/Md5Reg.cpp
new file mode 100644
index 0000000..026fd41
--- /dev/null
+++ b/CPP/Common/Md5Reg.cpp
@@ -0,0 +1,44 @@
1// Md5Reg.cpp
2
3#include "StdAfx.h"
4
5#include "../../C/Md5.h"
6
7#include "../Common/MyBuffer2.h"
8#include "../Common/MyCom.h"
9
10#include "../7zip/Common/RegisterCodec.h"
11
12Z7_CLASS_IMP_COM_1(
13 CMd5Hasher
14 , IHasher
15)
16 CAlignedBuffer1 _buf;
17public:
18 Byte _mtDummy[1 << 7];
19
20 CMd5 *Md5() { return (CMd5 *)(void *)(Byte *)_buf; }
21public:
22 CMd5Hasher():
23 _buf(sizeof(CMd5))
24 {
25 Md5_Init(Md5());
26 }
27};
28
29Z7_COM7F_IMF2(void, CMd5Hasher::Init())
30{
31 Md5_Init(Md5());
32}
33
34Z7_COM7F_IMF2(void, CMd5Hasher::Update(const void *data, UInt32 size))
35{
36 Md5_Update(Md5(), (const Byte *)data, size);
37}
38
39Z7_COM7F_IMF2(void, CMd5Hasher::Final(Byte *digest))
40{
41 Md5_Final(Md5(), digest);
42}
43
44REGISTER_HASHER(CMd5Hasher, 0x208, "MD5", MD5_DIGEST_SIZE)