@litert/[email protected]

该文章根据 CC-BY-4.0 协议发表,转载请遵循该协议。
本文地址:https://fenying.net/project/litert/otp/v2.0.0/

基于 TOTP 和 HOTP 算法的 2FA 工具库,使用 TypeScript 开发,适用于 NodeJS。

v2.0.0 更新内容

  • build(project): 重构,支持完整的 OTP 功能。
  • feat(hotp): 添加对其他摘要算法的支持。
  • feat(totp): 添加对其他摘要算法的支持。
  • feat(url): 添加对生成 OTP URL 的支持。
  • feat(cli): 添加 OTP 操作的命令行工具。
  • build(test): 添加对所有功能的单元测试。
  • build(docs): 添加对库和 CLI 工具的完整文档。

使用文档

功能特性

  • HOTP(基于 HMAC 的一次性密码)算法实现。
  • TOTP(基于时间的一次性密码)算法实现。
  • OTP URL 编码和解码。
  • 命令行工具:
    • 生成 OTP 代码。
    • 生成 OTP URL。
    • 检查 OTP URL。
  • 自定义选项:
    • 数字长度从 4 到 10 位。
    • TOTP 时间步长(周期)。
    • 摘要算法支持 SHA-1、SHA-256 和 SHA-512。

使用要求

  • TypeScript v5.0.x (Or newer)
  • NodeJS v18.x (Or newer)

安装

1npm i @litert/otp --save

使用示例

在代码中使用

点击查看《快速上手》文档。

使用命令行工具

该库提供了一个命令行工具来执行 OTP 操作。

有两种使用方式:

  1. 使用 npx 直接运行 CLI,无需手动安装。

    1npx @litert/otp -k 'raw:1234567890'
    2
    3# 查看帮助信息
    4npx @litert/otp --help
    
  2. 全局或本地安装到项目中。

    1npm i -g @litert/otp
    2# 或仅在本地项目中安装
    3npm i @litert/otp # -D # 如果仅在开发环境中使用
    

    现在您可以直接使用 otp 命令:

    1npx otp -k 'raw:1234567890'
    

点击查看《命令行工具使用文档》以获取更多详细信息。

开源许可

该库基于 Apache-2.0 协议发布,使用者请遵守相关许可条款。