gototp.go
func New(secretB32 string) (*TOTP, error) {
	// Decode the secret
	key, err := base32.StdEncoding.DecodeString(secretB32)
	if nil != err {
		return nil, fmt.Errorf("Error encountered base32 decoding secret: %v", err.Error())
	}

	return &TOTP{key, 6, 30}, nil
}
func New(secretB32 string) (*TOTP, error) {
	// Decode the secret
	key, err := base32.StdEncoding.DecodeString(secretB32)
	if nil != err {
		return nil, fmt.Errorf("Error encountered base32 decoding secret: %v", err.Error())
	}

	return &TOTP{key, 6, 30}, nil
}
func New ( secretB32 string ) ( * TOTP , error ) { // Decode the secret key , err := base32 . StdEncoding . DecodeString ( secretB32 ) if nil != err { return nil , fmt . Errorf ( " " , err . Error ( ) ) } return & TOTP { key , 6 , 30 } , nil }
// Generate a new Time Based One Time Password with the given secret (a b32 encoded key)
Generate a new Time Based One Time Password with the given secret ( a b32 encoded key )