aboutsummaryrefslogtreecommitdiff
path: root/C/Sha256.h
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--C/Sha256.h18
1 files changed, 14 insertions, 4 deletions
diff --git a/C/Sha256.h b/C/Sha256.h
index 9e04223..75329cd 100644
--- a/C/Sha256.h
+++ b/C/Sha256.h
@@ -1,5 +1,5 @@
1/* Sha256.h -- SHA-256 Hash 1/* Sha256.h -- SHA-256 Hash
22023-04-02 : Igor Pavlov : Public domain */ 2: Igor Pavlov : Public domain */
3 3
4#ifndef ZIP7_INC_SHA256_H 4#ifndef ZIP7_INC_SHA256_H
5#define ZIP7_INC_SHA256_H 5#define ZIP7_INC_SHA256_H
@@ -14,6 +14,9 @@ EXTERN_C_BEGIN
14#define SHA256_BLOCK_SIZE (SHA256_NUM_BLOCK_WORDS * 4) 14#define SHA256_BLOCK_SIZE (SHA256_NUM_BLOCK_WORDS * 4)
15#define SHA256_DIGEST_SIZE (SHA256_NUM_DIGEST_WORDS * 4) 15#define SHA256_DIGEST_SIZE (SHA256_NUM_DIGEST_WORDS * 4)
16 16
17
18
19
17typedef void (Z7_FASTCALL *SHA256_FUNC_UPDATE_BLOCKS)(UInt32 state[8], const Byte *data, size_t numBlocks); 20typedef void (Z7_FASTCALL *SHA256_FUNC_UPDATE_BLOCKS)(UInt32 state[8], const Byte *data, size_t numBlocks);
18 21
19/* 22/*
@@ -32,9 +35,16 @@ typedef void (Z7_FASTCALL *SHA256_FUNC_UPDATE_BLOCKS)(UInt32 state[8], const Byt
32 35
33typedef struct 36typedef struct
34{ 37{
35 SHA256_FUNC_UPDATE_BLOCKS func_UpdateBlocks; 38 union
36 UInt64 count; 39 {
37 UInt64 _pad_2[2]; 40 struct
41 {
42 SHA256_FUNC_UPDATE_BLOCKS func_UpdateBlocks;
43 UInt64 count;
44 } vars;
45 UInt64 _pad_64bit[4];
46 void *_pad_align_ptr[2];
47 } v;
38 UInt32 state[SHA256_NUM_DIGEST_WORDS]; 48 UInt32 state[SHA256_NUM_DIGEST_WORDS];
39 49
40 Byte buffer[SHA256_BLOCK_SIZE]; 50 Byte buffer[SHA256_BLOCK_SIZE];