

dotp - a dart package to generate and verify a one-time password, based on HOTP...
source link: https://www.tuicool.com/articles/hit/EZ73Efi
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

dotp
dotp
is a dart package to generate and verify one-time passwords that were used to implement 2FA and MFA authentication method in web applications and other login-required systems.
The package was implement based on RFC4226 (HOTP: An HMAC-Based One-Time Password Algorithm) and RFC6238 (TOTP: Time-Based One-Time Password Algorithm).
Feature
otpauth url
Installation
Pubspec
Add dotp
as a dependency in your pubspec.yaml
file.
dependencies: dotp: ^1.0.2
Example
Time-based OTPs
import 'package:dotp/dotp.dart'; void main() { TOTP totp = TOTP("J22U6B3WIWRRBTAV"); totp.now(); /// => 432143 /// verify for the current time totp.verify(432143); /// => true /// verify after 30s totp.verify(432143); /// => false }
Counter-based OTPs
import 'package:dotp/dotp.dart'; void main() { HOTP hotp = HOTP("J22U6B3WIWRRBTAV"); hotp.at(0); /// => 432143 hotp.at(1); /// => 231434 hotp.at(2132); /// => 242432 /// verify with a counter hotp.verify(242432, 2132); /// => true hotp.verify(242432, 2133); /// => false }
Api
• TOTP(String secret)
param: secret type: String return: TOTP desc: generate TOTP instance.
• TOTP.now()
return: String desc: get the one-time password with current time.
• TOTP.verify(String otp, [Datetime time])
param: otp type: String param: time type: Datetime return: Boolean desc: verify the totp code.
• TOTP.urlGen(String issuer)
param: issuer type: String return: String desc: generate url with TOTP instance
• HOTP(String secret)
param: secret type: String return: HOTP desc: generate HOTP instance.
• HOTP.at(int counter)
param: counter type: int return: String desc: generate one-time password with counter.
• HOTP.verify(String otp, int counter)
param: otp type: String param: counter type: int return: Boolean desc: verify the hotp code.
• HOTP.urlGen(String issuer)
param: issuer type: String return: String desc: generate url with HOTP instance
Release notes
See CHANGELOG.md .
Recommend
-
47
I’ve recently been updating a website that was written a long time ago that has not been touched in a meaningful way in many years. In addition to the actual work I was asked to do, I took the opportunity to...
-
44
-
45
stylecloud Generate stylistic wordclouds, including gradients and icon shapes! stylecloud is a Python package tha...
-
11
Building custom kernel for Ubuntu (also generate .deb package) Dec 27, 2012 Updated 20-Jun-2013 : Building kernel deb package [
-
15
Generate a random string (password) yourbasic.org/golang Random string This code generates...
-
5
一、Flutter 初始项目中的包 1. 如何查看项目的存在的包 在 AndroidStudio 中,可以在 External Libraries 下查看存在的 Dart Packages 。如下是一个新建项目存在的内置包。这些包中定...
-
10
[Dart] Generate Random String From [a-z0-9] January 22, 2017 import 'dart:...
-
3
Home Flutter & Dart Tutorials...
-
6
Details User Agent: Mozilla/5.0 (Windows NT...
-
4
How to check if password contains all required characters · GitHub Instantly share code, notes, and snippets. ...
About Joyk
Aggregate valuable and interesting links.
Joyk means Joy of geeK