技术说明.服务提供商为每个用户生成80位的密钥（然而RFC 4226 §4要求使用128位并建议使用160位密钥）。 它以16位、26位或者32位base32的字符串亦或是二维码的方式提供出来。客户端使用此密钥生成HMAC-SHA1。经过HMAC处理过的信息可能为：一段哈希值被提取出来并转换为6位数密码。
生成一次性密码的伪代码.<syntaxhighlight></syntaxhighlight>
生成事件性或计数性的一次性