1.1.0 • Published 5 years ago

oqa v1.1.0

Weekly downloads
14
License
-
Repository
github
Last release
5 years ago

Offline QRCode Authentication

离线二维码认证。

Alita License NPM version NPM downloads Build Status Coverage Status License

使用

javascript

$ npm install oqa --save
or
$ yarn add oqa

原理

用户端定期更新 token ,根据用户 id 、 token 与当前时间戳生成指定长度的签名,服务端可根据签名找到签名所对应的用户。

应用场景

付款、取货等。

安全性

可自由配置签名各个字段的长度,默认是 18 位 0 ~ 9 的数字构成的字符串。

相关问题

  • 用户 id 不是整型或是 0 ~ 9 构成的字符串,或者 id 过长怎么办?

    可以为每个用户按一定规则分配数字,比如随机数,允许少量重复,也可以定期更新这串数字,避免非活跃用户长期占用 id 。由于每个用户的 token 极大概率不相同,少量重复也能通过签名后几位校验码找到对应用户,如果觉得不够安全,那就修改配置加长签名长度吧。

  • 时间戳只取用后几位(例如默认取用 6 位),会不会有人在一定时间之后(例如 pow(10, 6) 秒后)拿过来冒用?

    后几位校验码来自 hash(id, token, timestamp) ,这里签名所用到的时间戳是完整的 10 位时间戳,所以可以保证签名的有效期是一个闭区间。

1.1.0

5 years ago

1.0.1

5 years ago

1.0.0

5 years ago