Mayson Monorepo Documentation
    Preparing search index...

    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).

    interface CryptoProvider {
        computeHMACSignature: (payload: string, secret: string) => string;
        computeHMACSignatureAsync: (
            payload: string,
            secret: string,
        ) => Promise<string>;
    }
    Index

    Properties

    computeHMACSignature: (payload: string, secret: string) => string

    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:

    • computeHMACSignature('', 'test_secret') => 'f7f9bd47fb987337b5796fdc1fdb9ba221d0d5396814bfcaf9521f43fd8927fd'
    • computeHMACSignature('\ud83d\ude00', 'test_secret') => '837da296d05c4fe31f61d5d7ead035099d9585a5bcde87de952012a78f0b0c43
    computeHMACSignatureAsync: (payload: string, secret: string) => Promise<string>

    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.