one-time-password: HMAC-Based and Time-Based One-Time Passwords

[ cryptography, library, mit, program ] [ Propose Tags ] [ Report a vulnerability ]

Implements HMAC-Based One-Time Password Algorithm as defined in RFC 4226 and Time-Based One-Time Password Algorithm as defined in RFC 6238.


[Skip to Readme]

Downloads

Maintainer's Corner

Package maintainers

For package maintainers and hackage trustees

Candidates

  • No Candidates
Versions [RSS] 1.0.0.0, 1.0.0.1, 2.0.0, 3.0.0.0, 3.0.1.0
Change log CHANGELOG.md
Dependencies base (>=4.17 && <5), bytestring (>=0.12 && <0.13), cereal (>=0.5 && <0.6), chronos (>=1.1.6 && <1.2), cryptohash-sha1 (>=0.11 && <0.12), network-uri (>=2.6 && <2.7), one-time-password, optparse-applicative (>=0.15 && <0.19), sel (>=0.1 && <0.2), text (>=2.0), text-builder-linear (>=0.1), text-display (>=1.0 && <1.1), torsor (>=0.1 && <0.2) [details]
Tested with ghc ==9.4.8 || ==9.6.4 || ==9.6.7 || ==9.8.2 || ==9.8.4 || ==9.10.2
License MIT
Copyright (c) 2023 The Haskell Cryptography Group
Author Hécate Moonlight
Maintainer The Haskell Cryptography Group contributors
Category Cryptography
Home page https://github.com/haskell-cryptography/one-time-password
Bug tracker https://github.com/haskell-cryptography/one-time-password/issues
Source repo head: git clone https://github.com/haskell-cryptography/one-time-password.git
Uploaded by hecate at 2025-05-20T11:13:37Z
Distributions
Reverse Dependencies 2 direct, 0 indirect [details]
Executables one-time-password
Downloads 3241 total (10 in the last 30 days)
Rating (no votes yet) [estimated by Bayesian average]
Your Rating
  • λ
  • λ
  • λ
Status Docs uploaded by user
Build status unknown [no reports yet]

Readme for one-time-password-3.0.1.0

[back to package description]

one-time-password

CI badge Hackage

A One-Time Password (OTP) is a dynamic password used once in conjunction with an account's usual password, a for the purpose of two-factor authentication.

It can be based on a counter (HOTP) or a timestamp (TOTP). This module provides both methods.

Mobile authenticator applications will typically require a TOTP secret. They are most commonly provided as QR codes to scan. This library can generate a URI that can be used by a QR Code generator.