Inputs
Step 1: Key Padding / Hashing
If Key is longer than block size (64 bytes), hash it. Otherwise, pad with 0s to 64 bytes.
Step 2: Inner Hash (ipad XOR)
XOR padded key with ipad (0x36). Append message, then hash.
Step 3: Outer Hash (opad XOR)
XOR padded key with opad (0x5c). Append Step 2 hash, then hash.