HMAC-Based One-Time Password Algorithm, as described in RFC 4226
Time-Based One-Time Password Algorithm, as described in RFC 6238