jsotp-基于[RFC4226]和[RFC6238]的一次性密码生成和验证JS模块

  • 授权协议:MIT
  • 开发厂商:未知
  • 开发语言:js
  • 收录时间:2020-04-18
  • 操作系统:Windows,Linux,OS X
  • 软件作者:mirrors
  • 开源标签: jsotp 安全相关

软件介绍

jsotp`是一个用来生成用来生成及验证一次性密码的js模块,一次性密码通常用来在web应用或者其他登录系统中作为二步验证或多步验证使用。"

jsotp

`jsotp`是一个用来生成用来生成及验证一次性密码的js模块,一次性密码通常用来在web应用或者其他登录系统中作为二步验证或多步验证使用。

该模块基于 [RFC4226](HOTP:基于计数器的一次性密码算法)和 [RFC6238](TOTP:基于时间的一次性密码算法)实现

示例

功能

  • 随机生成base32加密的字符串

  • 将base32加密后的字符串生成otpauth链接,可用来生成二维码

  • 创建可验证的HOTP对象

  • 验证HOTP密码

  • 创建可验证的TOTP对象

  • 验证TOTP密码

安装

shellnpm   install   jsotp

 

模块

全部模块支持:

npm   install   jsotp

使用

基于时间的OTP

//   importlet   jsotp   =   require(jsotp);//   Create   TOTP   objectlet   totp   =   jsotp.TOTP(BASE32ENCODEDSECRET);totp.now();   //   =>   432143//   Verify   for   current   timetotp.verify(432143);   //   =>   true//   Verify   after   30stotp.verify(432143);   //   =>   false

基于计数器的OTP

//   importlet   jsotp   =   require(jsotp);//   Create   HOTP   objectlet   hotp   =   jsotp.HOTP(BASE32ENCODEDSECRET);hotp.at(0);   //   =>   432143hotp.at(1);   //   =>   231434hotp.at(2132);   //   =>   242432//   Verify   with   a   counterhotp.verify(242432,   2132);   //   =>   truehotp.verify(242432,   2133);   //   =>   false

生成随机base32加密字符串

//   importlet   jsotp   =   require(jsotp);//   Generatelet   b32_secret   =   jsotp.Base32.random_gen();

上一篇:Dash-构建基于Web的应用程序的Python库

下一篇:SiteCLI-PHP开发的自动配置命令行工具

您可能感兴趣的文章

相关阅读

查看更多 >