Hash, HMAC

Encode data using hash and HMAC methods:

start:
say Crypto("Hello World 😆").create_hash("sha256").digest("hex")
say Crypto("Hello World 😆").create_hmac("md5", "SECRET_KEY").digest("base64")

Methods

Crypto(data)

The data parameter is the data to encrypt or encode, and it must be a string.

create_hash(algorithm)

The algorithm must be one of the following values:

MD5
SHA1
SHA224
SHA256
SHA384
SHA512
SHA3_224
SHA3_256
SHA3_384
SHA3_512
SHAKE_128
SHAKE_256
RIPEMD160
SM3

create_hmac(algorithm, key)

Unlike the create_hash method, create_hmac requires a key to function. The list of accepted algorithms is the same.

digest(encoding)

The encoding must be either "base64" or "hex".

Error handling

When any operation fails, Null is returned and a say Error(error_message) is emitted.