jsotp `jsotp`是一个用来生成用来生成及验证一次性密码的js模块,一次性密码通常用来在web应用或者其他登录系统中作为二步验证或多步验证使用。 该模块基于 [RFC4226](HOTP:基于计数器的一次性密码算法)和 [RFC6238](TOTP:基于时间的一次性密码算法)实现 示例 功能 随机生成base32加密的字符串 将base32加密后的字符串生成otpauth链接,可用来生成二维码 创建可验证的HOTP对象 验证HOTP密码 创建可验证的TOTP对象 验证TOTP密码 安装 shell npm install jsotp 模块 全部模块支持: npm install jsotp 使用 基于时间的OTP // import let jsotp = require('jsotp'); // Create TOTP object let totp = jsotp.TOTP('BASE32ENCODEDSECRET'); totp.now(); // => 432143 // Verify for current time totp.verify(432143); // => true // Verify after 30s totp.verify(432143); // => false 基于计数器的OTP // import let jsotp = require('jsotp'); // Create HOTP object let hotp = jsotp.HOTP('BASE32ENCODEDSECRET'); 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 生成随机base32加密字符串 // import let jsotp = require('jsotp'); // Generate let b32_secret = jsotp.Base32.random_gen();
最近更新: 12小时前✍ WeChat Markdown Editor | 一款高度简洁的微信 Markdown 编辑器:支持 Markdown 语法、自定义主题样式、内容管理、多图床、AI 助手等特性
最近更新: 4天前基于飞桨的OCR和文档解析工具库,包含文字识别PP-OCR系列模型、文档解析PP-Structure系列方案和关键信息抽取PP-ChatOCR系列方案
基于 ThinkPHP6 的极简后台管理系统,内置注解权限、异步多任务、应用插件生态等,支持类 PaaS 更新公共模块和应用插件,插件可本地化定制开发。
最近更新: 12天前🔥可商用的开源商城系统,框架采用Tp6+MySQL+elementUI+uniapp,商城系统代码全部开源;前后台都支持风格切换,包含小程序商城、H5商城、公众号商城、App,支持多语言、分销、拼团、砍价、秒杀、优惠券、积分、抽奖、会员等级、小程序直播、页面DIY,前后端分离,方便二开,使用文档、接口文档、数据字典、代码生成、二开文档/视频教程,欢迎大家提出宝贵意见和建议
最近更新: 15天前