CsCrypto  2.0.0
hash_traits.h
1 /***********************************************************************
2 *
3 * Copyright (c) 2021-2025 Tim van Deurzen
4 * Copyright (c) 2021-2025 Barbara Geller
5 * Copyright (c) 2021-2025 Ansel Sermersheim
6 *
7 * This file is part of CsCrypto.
8 *
9 * CsCrypto is free software which is released under the BSD 2-Clause license.
10 * For license details refer to the LICENSE provided with this project.
11 *
12 * CsCrypto is distributed in the hope that it will be useful,
13 * but WITHOUT ANY WARRANTY; without even the implied warranty of
14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
15 *
16 * https://opensource.org/licenses/BSD-2-Clause
17 *
18 ***********************************************************************/
19 
20 #ifndef CS_CRYPTO_TRAITS_H
21 #define CS_CRYPTO_TRAITS_H
22 
23 namespace cs_crypto::hash::traits {
24 
25 template <typename Driver>
26 using md4_ctx = typename Driver::md4;
27 
28 template <typename Driver>
29 using md5_ctx = typename Driver::md5;
30 
31 template <typename Driver>
32 using sha1_ctx = typename Driver::sha1;
33 
34 template <typename Driver>
35 using sha2_224_ctx = typename Driver::sha2_224;
36 
37 template <typename Driver>
38 using sha2_256_ctx = typename Driver::sha2_256;
39 
40 template <typename Driver>
41 using sha2_384_ctx = typename Driver::sha2_384;
42 
43 template <typename Driver>
44 using sha2_512_ctx = typename Driver::sha2_512;
45 
46 template <typename Driver>
47 using sha3_224_ctx = typename Driver::sha3_224;
48 
49 template <typename Driver>
50 using sha3_256_ctx = typename Driver::sha3_256;
51 
52 template <typename Driver>
53 using sha3_384_ctx = typename Driver::sha3_384;
54 
55 template <typename Driver>
56 using sha3_512_ctx = typename Driver::sha3_512;
57 
58 } // namespace cs_crypto::hash
59 
60 #endif