func Generate(opts GenerateOpts) (*otp.Key, error)
Generate creates a new HOTP Key.
func GenerateCode(secret string, counter uint64) (string, error)
GenerateCode creates a HOTP passcode given a counter and secret. This is a shortcut for GenerateCodeCustom, with parameters that are compataible with Google-Authenticator.
func GenerateCodeCustom(secret string, counter uint64, opts ValidateOpts) (passcode string, err error)
GenerateCodeCustom uses a counter and secret value and options struct to create a passcode.
func Validate(passcode string, counter uint64, secret string) bool
Validate a HOTP passcode given a counter and secret. This is a shortcut for ValidateCustom, with parameters that are compataible with Google-Authenticator.
func ValidateCustom(passcode string, counter uint64, secret string, opts ValidateOpts) (bool, error)
ValidateCustom validates an HOTP with customizable options. Most users should use Validate().
GenerateOpts provides options for .Generate()
type GenerateOpts struct { // Name of the issuing Organization/Company. Issuer string // Name of the User's Account (eg, email address) AccountName string // Size in size of the generated Secret. Defaults to 10 bytes. SecretSize uint // Secret to store. Defaults to a randomly generated secret of SecretSize. You should generally leave this empty. Secret []byte // Digits to request. Defaults to 6. Digits otp.Digits // Algorithm to use for HMAC. Defaults to SHA1. Algorithm otp.Algorithm // Reader to use for generating HOTP Key. Rand io.Reader }
ValidateOpts provides options for ValidateCustom().
type ValidateOpts struct { // Digits as part of the input. Defaults to 6. Digits otp.Digits // Algorithm to use for HMAC. Defaults to SHA1. Algorithm otp.Algorithm }