Important: This documentation covers Yarn 1 (Classic).
For Yarn 2+ docs and migration guide, see yarnpkg.com.

Package detail

hotp

jhermsmeier84.4kMIT3.0.1

HMAC-Based One-Time Password (HOTP), and Time-Based One-Time Password (TOTP) Algorithms

hotp, totp, otp, rfc4226, rfc 4226, 4226, rfc6238, rfc 6238, 6238, one-time password, two-factor authentication, two-factor, 2fa, authentication, authenticator, hmac, hmac-based, time-based

readme

HOTP TOTP

npm npm license npm downloads

HMAC-Based One-Time Password (HOTP), and Time-Based One-Time Password (TOTP) Algorithms

Install via npm

$ npm install --save hotp

Changelog

  • v3.0.0: Removed CLI utilities – now to be found at jhermsmeier / hotp-totp-cli
  • v2.0.0: Added TOTP implementation
  • v1.0.0: Initial release

Usage

HOTP

hotp( key, counter[, options] )

  • key {Buffer|String}
  • counter {Buffer|String|Number}
  • options {Object}
    • algorithm {Number} Default: 'sha1'
    • digits {Number} Default: 6
  • Returns {String}

Example

var hotp = require( 'hotp' )

var key = 'a very secret key'
var counter = 0

var token = hotp( key, counter, { digits: 8 })

console.log( token ) // > '78035651'

TOTP

hotp.totp( key[, options] )

  • key {Buffer|String}
  • options {Object}
    • algorithm {Number} Default: 'sha1'
    • digits {Number} Default: 6
    • time {Number} Default: (Date.now() / 1000)
    • timeStep {Number} Default: 30
    • t0 {Number} Default: 0
  • Returns {String}

Example

var hotp = require( 'hotp' )

var key = 'a very secret key'
var token = hotp.totp( key, { digits: 8 })

console.log( token ) // > '86247382'

References