Follow the algorithm
As implemented in Google Authenticator app, you’ll need:
- A shared secret key K, which is
- a specific time period since UNIX epoch T
K = GEZDGNBVGY3TQOJQGEZDGNBVGY3TQOJQ and
T = 1450235092 (which is Wed, 16 Dec 2015 11:04:52 CST) for example. In the Google Authenticator App, both K and T are passed to TOTP as hexadecimal values (or byte arrays).
Since K is a
base32 encoded string, we’ll decode it to byte format. Password changes every 30 seconds, T should be divided by 30, tuncated to integer and converted to hex and padded to 16 hexadecimal digits.