jsotp

一次性密码生成和验证 JS 模块
授权协议 MIT
开发语言 JavaScript
所属分类 Web应用开发、 常用JavaScript包
软件类型 开源软件
地区 国产
投 递 者 松桐
操作系统 跨平台
开源组织
适用人群 未知
 软件概览

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();
 相关资料
  • 本文向大家介绍js随机生成一个验证码,包括了js随机生成一个验证码的使用技巧和注意事项,需要的朋友参考一下 之前接触过的验证码都是图片,今天碰到了一个用js生成随机验证码的demo,拿来敲一敲和大家分享。 效果: html代码: 给div设置了一个click点击事件,js代码如下: 定义一个变量,令它的值为26个字母和0-9十个数字。 Math.random()是令系统随机选取大于等于 0.0 且

  • 本文向大家介绍Java生成验证码,包括了Java生成验证码的使用技巧和注意事项,需要的朋友参考一下 Java 生成验证码的流程是: 收到请求->生成验证码所用的随机数->使用随机数写出图片->将随机数记录到Session中->输出验证码 Java 验证验证码的流程是: 收到请求->获取用户传过来的验证码数字->验证是否正确->输出验证结果 下面通过一个例子来展示验证码的生成流程,该例子使用基本Ja

  • 本文向大家介绍原生js实现密码强度验证功能,包括了原生js实现密码强度验证功能的使用技巧和注意事项,需要的朋友参考一下 我们在填写表单的时候,特别是输入密码的时候,经常看到实时显示密码强度的效果,那么这种效果如何通过我们的原生js实现呢? 思路: 1.密码通常是由数字,大写字母,小写字母以及特殊字符组成 2.密码全部是纯数字或者纯大写字母,或者纯小写字母,我们认为是密码强度较低 3.密码由两种混合

  • cmf_get_verification_code($account, $length = 6) 功能 检查手机或邮箱是否还可以发送验证码,并返回生成的验证码 参数 $account: string 手机或邮箱 $length: int 验证码位数,支持4,6,8 返回 string 数字验证码

  • 本文向大家介绍js验证密码强度解析,包括了js验证密码强度解析的使用技巧和注意事项,需要的朋友参考一下 这篇文章我们来说一个验证密码强度的例子,大家在进入一个网站的时候,往往都会先注册一个账号,然后输入密码,在输密码的时候,系统会根据我们输入的密码组成的复杂程度来给你的密码显示一个密码强度,一般就是强中弱三种,我们先来说一下密码验证的原理,原理明白了,js代码就好写了,今天的代码会用到正则表达式。

  • 本文向大家介绍js如何验证密码强度,包括了js如何验证密码强度的使用技巧和注意事项,需要的朋友参考一下 验证“密码强度”的例子很常见,我们注册新的账号的时候往往设置密码,此时就遇到验证密码强度的问题了。“密码强度”也就是密码难易程度的意思。 原理: 1、如果输入的密码为单纯的数字或者字母:提示“低” 2、如果是数字和字母混合的:提示“中”  3、如果数字、字母、特殊字符都有:提示“强” 下面是一种

  • 我用哈希法通过了一个密码 这将密码作为哈希值存储到数据库中。但是当我试图通过 无论密码是否正确,它都会告诉我密码是正确的。有没有办法解决这个问题,所以我可以散列密码,但登录时输入(非散列)密码。

  • 本文向大家介绍Python使用PIL模块生成随机验证码,包括了Python使用PIL模块生成随机验证码的使用技巧和注意事项,需要的朋友参考一下 Python生成随机验证码,需要使用PIL模块,具体内容如下 安装: 基本使用 1. 创建图片 2. 创建画笔,用于在图片上画任意内容 3. 画点 4. 画线 5. 画圆 6. 写文本 7. 特殊字体文字 图片验证码 以上就是本文的全部内容,希望对大家的学