Skip to content

otplib API Documentation / @otplib/hotp / generateSync

Function: generateSync() ​

generateSync(options): string

Defined in: hotp/src/index.ts:155

Generate an HMAC-based One-Time Password (HOTP) synchronously

This is the synchronous version of generate. It requires a crypto plugin that supports synchronous HMAC operations (e.g., NodeCryptoPlugin or NobleCryptoPlugin). Using this with WebCryptoPlugin will throw an error.

Parameters ​

options ​

HOTPGenerateOptions

HOTP generation options

Returns ​

string

The HOTP code as a string

See ​

Throws ​

If the algorithm is invalid or unsupported by the plugin

Throws ​

If HMAC computation fails or the plugin does not support sync operations

Example ​

ts
import { generateSync } from '@otplib/hotp';
import { NodeCryptoPlugin } from '@otplib/plugin-crypto-node';

const hotp = generateSync({
  secret: new Uint8Array([1, 2, 3, 4, 5]),
  counter: 0,
  digits: 6,
  crypto: new NodeCryptoPlugin(),
});
// Returns: '123456'

Released under the MIT License.