All Projects β†’ dashbitco β†’ Nimble_totp

dashbitco / Nimble_totp

A tiny Elixir library for time-based one time passwords (TOTP)

Programming Languages

elixir
2628 projects

Labels

Projects that are alternatives of or similar to Nimble totp

extract otp secret keys
Extract two-factor authentication (2FA, TFA) secret keys from export QR codes of "Google Authenticator" app
Stars: ✭ 217 (+56.12%)
Mutual labels:  totp, 2fa
Two Factor Bundle
[OUTDATED] Two-factor authentication for Symfony applications πŸ” (bunde version ≀ 4). Please use version 5 from https://github.com/scheb/2fa.
Stars: ✭ 388 (+179.14%)
Mutual labels:  2fa, totp
pyotp
Python One-Time Password Library
Stars: ✭ 1,930 (+1288.49%)
Mutual labels:  totp, 2fa
Totp Cli
A cli-based pass-backed TOTP app
Stars: ✭ 76 (-45.32%)
Mutual labels:  2fa, totp
One Time
One Time Password (TOTP and HOTP) library for Clojure. TOTP/HOTP is widely used for Two Factor / Multi Factor Authentication.
Stars: ✭ 129 (-7.19%)
Mutual labels:  2fa, totp
a12n-server
A ready-to-launch User and Authentication system for those that don't want to build it
Stars: ✭ 324 (+133.09%)
Mutual labels:  totp, 2fa
Swiftotp
A Swift library for generating One Time Passwords (OTP)
Stars: ✭ 119 (-14.39%)
Mutual labels:  2fa, totp
crystal-two-factor-auth
Two Factor Authentication Crystal code implementing the Time-based One-time Password Algorithm
Stars: ✭ 24 (-82.73%)
Mutual labels:  totp, 2fa
Twofa
A TouchID-aware 2-factor authenticator for macOS
Stars: ✭ 105 (-24.46%)
Mutual labels:  2fa, totp
Authelia
The Single Sign-On Multi-Factor portal for web apps
Stars: ✭ 11,094 (+7881.29%)
Mutual labels:  2fa, totp
kagi
WebAuthn security keys and TOTP multi-factor authentication for Django
Stars: ✭ 17 (-87.77%)
Mutual labels:  totp, 2fa
Aspnetcoreid4external
external OpenID Connect Login to IdentityServer4 with AAD
Stars: ✭ 63 (-54.68%)
Mutual labels:  2fa, totp
rci
πŸ”’β€‚better code inputs for react/web
Stars: ✭ 805 (+479.14%)
Mutual labels:  totp, 2fa
2FAtoTray
ο£Ώ Copy 2FA tokens in a click (macOS)
Stars: ✭ 13 (-90.65%)
Mutual labels:  totp, 2fa
2FAuth
A Web app to manage your Two-Factor Authentication (2FA) accounts and generate their security codes
Stars: ✭ 664 (+377.7%)
Mutual labels:  totp, 2fa
Java Otp
A one-time password (HOTP/TOTP) library for Java
Stars: ✭ 265 (+90.65%)
Mutual labels:  2fa, totp
apache 2fa
Apache two-factor (2FA) authentication with Google Authenticator based on Time-based One-Time Password (TOTP) or HMAC-based one-time password (HOTP) Algorithms.
Stars: ✭ 63 (-54.68%)
Mutual labels:  totp, 2fa
totp
Time-Based One-Time Password Code Generator
Stars: ✭ 76 (-45.32%)
Mutual labels:  totp, 2fa
Otp.net
A .NET implementation of TOTP and HOTP for things like two-factor authentication codes.
Stars: ✭ 424 (+205.04%)
Mutual labels:  2fa, totp
Mintotp
Minimal TOTP generator in 20 lines of Python
Stars: ✭ 678 (+387.77%)
Mutual labels:  2fa, totp

NimbleTOTP

This library allows developers to implement Time-based One-Time Passwords (TOTP) for their applications as one of the mechanisms for Two-factor authentication (2FA).

It provides functions to:

  • Generate secrets composed of random bytes.
  • Generate URIs to be encoded in a QR Code.
  • Generate Time-Based One-Time Passwords for a secret.

Documentation can be found at https://hexdocs.pm/nimble_totp.

Installation

You can install nimble_totp by adding it to your list of dependencies in mix.exs:

def deps do
  [
    {:nimble_totp, "~> 0.1.0"}
  ]
end

Usage

Generating a secret composed of random bytes:

secret = NimbleTOTP.secret()
#=> <<63, 24, 42, 30, 95, 116, 80, 121, 106, 102>>

Generating a URI to be encoded in a QR Code:

NimbleTOTP.otpauth_uri("Acme:alice", secret, issuer: "Acme")
#=> "otpauth://totp/Acme:alice?secret=MFRGGZA&issuer=Acme"

Generating a Time-Based One-Time Password for a secret and validating it:

NimbleTOTP.verification_code(secret)
#=> "569777"

NimbleTOTP.valid?(secret, "569777")
#=> true

Nimble*

All nimble libraries by Dashbit:

  • NimbleCSV - simple and fast CSV parsing
  • NimbleOptions - tiny library for validating and documenting high-level options
  • NimbleParsec - simple and fast parser combinators
  • NimblePool - tiny resource-pool implementation
  • NimblePublisher - a minimal filesystem-based publishing engine with Markdown support and code highlighting
  • NimbleTOTP - tiny library for generating time-based one time passwords (TOTP)

License

Copyright 2020 Dashbit

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

  http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].