Computes a SHA-256 HMAC given a secret and a payload (encoded in UTF-8). The output HMAC should be encoded in hexadecimal.
Sample values for implementations:
Asynchronously computes a SHA-256 HMAC with a given secret and a payload (encoded in UTF-8). The output HMAC should be encoded in hexadecimal and respect the contract of computeHMACSignature.
Interface encapsulating the various crypto computations used by the library, allowing pluggable underlying crypto implementations.
Implementations can choose which methods they want to implement (eg. a CryptoProvider can be used which only implements the asynchronous versions of each crypto computation).