Files CCore/inc/crypton/SHA.h CCore/src/crypton/SHA.cpp
Files CCore/inc/crypton/PlatformSHA.h
The following HashFunction<....> classes implement the SHA hash algorithms:
using SHA1 = HashFunction<....> ; using SHA224 = HashFunction<....> ; using SHA256 = HashFunction<....> ; using SHA384 = HashFunction<....> ; using SHA512 = HashFunction<....> ;
SHAnnn implements the correspondent SHA-nnn algorithm.
The following KeyedHashFunction<....> classes implement the HMAC hash functions based on SHA algorithms:
using KeyedSHA1 = KeyedHashFunction<....> ; using KeyedSHA224 = KeyedHashFunction<....> ; using KeyedSHA256 = KeyedHashFunction<....> ; using KeyedSHA384 = KeyedHashFunction<....> ; using KeyedSHA512 = KeyedHashFunction<....> ;
KeyedSHAnnn implements the HMAC based on the correspondent SHA-nnn algorithm.
The file PlatformSHA.h contains stub definitions for the PlatformSHA types.
using PlatformSHA1 = SHA1 ; using PlatformSHA224 = SHA224 ; using PlatformSHA256 = SHA256 ; using PlatformSHA384 = SHA384 ; using PlatformSHA512 = SHA512 ; using PlatformKeyedSHA1 = KeyedSHA1 ; using PlatformKeyedSHA224 = KeyedSHA224 ; using PlatformKeyedSHA256 = KeyedSHA256 ; using PlatformKeyedSHA384 = KeyedSHA384 ; using PlatformKeyedSHA512 = KeyedSHA512 ;
A target may override this header file and provide its own definitions with efficient platform-dependent SHA implementation.