- Notifications
You must be signed in to change notification settings - Fork1
🔐 Zero dependencies Deno/Bun/Node/Browser module for TOTP and HOTP generator based on RFC 6238 and RFC 4226 🗝️
License
NotificationsYou must be signed in to change notification settings
haikelfazzani/otp
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
🔐 Deno/Bun/Node/Browser module for TOTP and HOTP generator based onRFC 6238 and RFC 4226 🗝️
- Zero dependencies: Works seamlessly across different environments without requiring additional libraries.
- Supports TOTP and HOTP: Generate both time-based and counter-based one-time passwords
Try it out on JSFiddle:Live Demo
npm i one-time-pass
import{generateTOTP}from"one-time-pass";// Denoimport{generateTOTP}from"npm:one-time-pass";// Nodejsconst{ generateTOTP}=require("one-time-pass");// Or include it via CDN<scriptsrc="https://cdn.jsdelivr.net/npm/one-time-pass/dist/index.umd.js"></script>window.otp.generateTOTP("key");
generate TOTP
import{generateTOTP}from"one-time-pass";(async()=>{constdefaultOptions={hash:'SHA-1',timeStep:30,// epoch intervaldigits:6,timestamp:Date.now()}constcode=awaitgenerateTOTP("key",defaultOptions?);console.log(code);})();
generate HOTP
import{generateHOTP}from"one-time-pass";(async()=>{constcounter=14653;consthash="SHA-1";constdigits=6;constcode=awaitgenerateHOTP("secretKey",counter,hash,digits);console.log(code);})();
- We welcome pull requests! Feel free to contribute to this project.
GNU GENERAL PUBLIC LICENSE V3