forked from trustwallet/wallet-core
-
Notifications
You must be signed in to change notification settings - Fork 4
Expand file tree
/
Copy pathTWHash.h
More file actions
58 lines (41 loc) · 1.53 KB
/
TWHash.h
File metadata and controls
58 lines (41 loc) · 1.53 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
// Copyright © 2017-2019 Trust Wallet.
//
// This file is part of Trust. The full Trust copyright notice, including
// terms governing use, modification, and redistribution, is contained in the
// file LICENSE at the root of the source code distribution tree.
#pragma once
#include "TWBase.h"
#include "TWData.h"
TW_EXTERN_C_BEGIN
TW_EXPORT_STRUCT
struct TWHash {
uint8_t unused; // C doesn't allow zero-sized struct
};
static const size_t TWHashSHA1Length = 20;
static const size_t TWHashSHA256Length = 32;
static const size_t TWHashSHA512Length = 64;
static const size_t TWHashRipemdLength = 20;
/// Computes the SHA1 of a block of data.
TW_EXPORT_STATIC_METHOD
TWData *_Nonnull TWHashSHA1(TWData *_Nonnull data);
TW_EXPORT_STATIC_METHOD
TWData *_Nonnull TWHashSHA256(TWData *_Nonnull data);
TW_EXPORT_STATIC_METHOD
TWData *_Nonnull TWHashSHA512(TWData *_Nonnull data);
TW_EXPORT_STATIC_METHOD
TWData *_Nonnull TWHashKeccak256(TWData *_Nonnull data);
TW_EXPORT_STATIC_METHOD
TWData *_Nonnull TWHashKeccak512(TWData *_Nonnull data);
TW_EXPORT_STATIC_METHOD
TWData *_Nonnull TWHashSHA3_256(TWData *_Nonnull data);
TW_EXPORT_STATIC_METHOD
TWData *_Nonnull TWHashSHA3_512(TWData *_Nonnull data);
TW_EXPORT_STATIC_METHOD
TWData *_Nonnull TWHashRIPEMD(TWData *_Nonnull data);
TW_EXPORT_STATIC_METHOD
TWData *_Nonnull TWHashBlake2b(TWData *_Nonnull data, size_t size);
TW_EXPORT_STATIC_METHOD
TWData *_Nonnull TWHashSHA256RIPEMD(TWData *_Nonnull data);
TW_EXPORT_STATIC_METHOD
TWData *_Nonnull TWHashSHA256SHA256(TWData *_Nonnull data);
TW_EXTERN_C_END