Your question is Implement HMAC From Scratch. Start with the requirements on the right.
Run and submit as often as you like. When you're ready, talk me through your approach or go straight to the code.
Implement HMAC from scratch in your preferred language.
Implement hmac_sha256(key, message), treating both inputs as UTF-8 strings and returning the lowercase hexadecimal HMAC-SHA256 digest. Use a 64-byte SHA-256 block size, hash keys longer than one block, and apply the standard inner and outer padding constants.
def hmac_sha256(key, message):