Perform dynamic truncation on HMAC result according to RFC 4226
HMAC result as byte array
Number of digits in the final code
Truncated code as string with leading zeros
Perform dynamic truncation on HMAC result according to RFC 4226