Library to generate TOTP/HOTP codes

Overview

otpgen

Library to generate TOTP/HOTP codes

Installation

go get -u github.com/grijul/otpgen

Usage

Here is a sample demonstration

package main

import (
	"fmt"

	"github.com/grijul/otpgen"
)

func main() {

	// Generate TOTP
	totp := otpgen.TOTP{
		Secret:    "testpass",
		Digits:    8,        //(optional) (default: 6)
		Algorithm: "SHA256", //(optional) (default: SHA1)
		Period:    45,       //(optional) (default: 30)
		UnixTime:  11111111, //(optional) (default: Current Unix Time)
	}

	if otp, err := totp.Generate(); err == nil {
		fmt.Println(otp)
	} else {
		fmt.Println(err.Error())
	}

	// Generate HOTP
	hotp := otpgen.HOTP{
		Secret:  "testsecret",
		Counter: 100, //(default: 0)
		Digits:  8,   //(optional) (default: 6)
	}

	if otp, err := hotp.Generate(); err == nil {
		fmt.Println(otp)
	} else {
		fmt.Println(err.Error())
	}
}

Licence

MIT

You might also like...
A tool to generate Pulumi Package schemas from Go type definitions

MkSchema A tool to generate Pulumi Package schemas from Go type definitions. This tool translates annotated Go files into Pulumi component schema meta

Generate FIRST/FOLLOW/PREDICT Set from BNF.

Generate FIRST/FOLLOW/PREDICT Set from BNF. We can use it to study parser theory. Feature FirstSet generate. Output pretty. FollowSet generate. Output

Generate droppers with encrypted payloads automatically.

This tool started out as a simple Python script. After discovering Python just couldn't cut it for my intended use I decided to learn and move to Golang. So far I'm quite happy with that decision.

Program to generate ruins using the Numenera Ruin Mapping Engine

Ruin Generator This is my attempt to build a program to generate ruins for Numenera using the rules from the Jade Colossus splatbook. The output only

Generate possible AD usernames from names like John Doe J.Doe or JDoe

GOtusernames Generate possible AD usernames from names like John Doe J.Doe or JDoe Example user file: ~/programming/golang/src/gotyourusername ❯ cat

Quickly collect data from thousands of exposed Elasticsearch or Kibana instances and generate a report to be reviewed.
Quickly collect data from thousands of exposed Elasticsearch or Kibana instances and generate a report to be reviewed.

elasticpwn Quickly collects data from exposed Elasticsearch or Kibana instances and generates a report to be reviewed. It mainly aims for sensitive da

gal - generate authors file from git log

[日本語] gal - generate authors file from git log gal command generate AUTHORS.md file at current directory. gal command gets the author name and email a

Script to generate a web page for your Aliucord plugins repo.

Aliucord-Store Script used to generate a website front-end for your plugins. Usage: go run cmds/store/main.go -dir string Your repository's

Go package and associated command line utility to generate random yet human-readable names and identifiers
Go package and associated command line utility to generate random yet human-readable names and identifiers

namegen | What's this? Go package and associated command line utility to generate random yet human-readable names and identifiers. Somewhat inspired b

Owner
Rijul Gulati
Rijul Gulati
HTTP service to generate PDF from Json requests

pdfgen HTTP service to generate PDF from Json requests Install and run The recommended method is to use the docker container by mounting your template

Hyperboloide 61 Dec 2, 2022
Automatically generate Go test boilerplate from your source code.

gotests gotests makes writing Go tests easy. It's a Golang commandline tool that generates table driven tests based on its target source files' functi

Charles Weill 4.4k Jan 3, 2023
generate fake data in go

Faker for Go Usage package main import ( "github.com/manveru/faker" ) func main() { fake, err := faker.New("en") if err != nil { panic(err

Michael Fellinger 163 Sep 29, 2022
:runner:runs go generate recursively on a specified path or environment variable and can filter by regex

Package generate Package generate runs go generate recursively on a specified path or environment variable like $GOPATH and can filter by regex Why wo

Go Playgound 28 Sep 27, 2022
A command line tool to generate sequence diagrams

goseq - text based sequence diagrams A small command line utility used to generate UML sequence diagrams from a text-base definition file. Inspired by

Leon Mika 188 Dec 22, 2022
generate my_github status using GitHub Actions

generate my_github status using GitHub Actions

yihong 96 Sep 21, 2022
Generate spreadsheets based on GitHub contributions

pullsheet generates a CSV (comma separated values) & HTML output about GitHub activity across a series of repositories.

Google 63 Oct 17, 2022
Generate type-safe Go converters by simply defining an interface

goverter a "type-safe Go converter" generator goverter is a tool for creating type-safe converters. All you have to do is create an interface and exec

Jannis Mattheis 189 Jan 4, 2023
Generate random, pronounceable, sometimes even memorable, "superhero like" codenames - just like Docker does with container names.

Codename an RFC1178 implementation to generate pronounceable, sometimes even memorable, "superheroe like" codenames, consisting of a random combinatio

Luca Sepe 84 Dec 11, 2022
An application that is developed to generate application by API specification

GO boilerplate is an application that is developed to generate application by API specification and Database schema with the collaboration with opn-generator.

Rafi Mahmud 0 Oct 14, 2021