简述OTP动态口令及其实现
背景
- 最近用到了OTP, 遂mark一下
OTP
- 动态口令验证可以看作是服务端和客户端之间通过约定相同的算法来实现验证功能, 也即你在客户端看到的动态口令是客户端通过算法生成的无需请求服务端获取
TOTP
- 平时用的google动态口令用的就是TOTP(
Time-based One-Time Password
), TOTP基于HOTP, 所以弄懂TOTP即可 - 原理: 假设用的是30秒间隔的六位口令, 精简版伪代码:
// secret为密码, timestamp为时间戳, 返回口令
GetOTPCode(secret, timestamp) {hs = hmac(secret, timestamp/30)// hsToInt是对hs这个[]byte进行各种&与偏移操作然后转为intintHs = hsToInt(hs) code = intHs % 1000000return code
}
库
- golang-gootp
- python-pyotp
参考
- RFC 4226 (HOTP)
- RFC 6238 (TOTP)
- 动态令牌-(OTP,HOTP,TOTP)-基本原理
简述OTP动态口令及其实现相关推荐
- OTP 动态口令验证
OTP 动态口令验证. 简介 动态口令(OTP,One-Time Password)又称一次性密码,是使用密码技术实现的在客户端和服务器之间通过共享秘密的一种认证技术,是一种强认证技术,是增强目前静态 ...
- 使用otp动态口令ssh登录linux
linux上各应用的权限认证使用pam机制(http://www.linux-pam.org/ https://github.com/linux-pam/linux-pam ). 这里需要一个支持ot ...
- 使用OTP动态口令(每分钟变一次)进行登录认证
GIT地址:https://github.com/suyin58/otp-demo 动态码截图: 在对外网开放的后台管理系统中,使用静态口令进行身份验证可能会存在如下问题: (1) 为了便于记忆,用户 ...
- OTP动态口令的Java实现
最近项目需要在应用中在登录时增加otp动态口令,作为二次密码的验证,原谅本人的孤陋寡闻居然是初次听说这技术,然后各种在网上查相关资料,发现想研究透此中算法时间太紧迫.鉴于此本人就不细说这个技术原理了( ...
- 身份认证OTP动态口令应用案例
着互联网技术的发展,电子商务.企业办公.电子银行等互联网应用正在日益紧密的和我们的工作.生活相关联.在我们享受互联网带来便利的同时,却一直被互联网安全问题困扰着,有了杀毒软件来帮我们查杀病毒,有了防火 ...
- OTP动态口令之Java实现双重认证
前言 双重认证(英语:Two-factor authentication,缩写为2FA),又译为双重验证.双因素认证.二元认证,又称两步骤验证(2-Step Verification,又译两步验证), ...
- 动态口令(OTP,One-Time Password)原理与实践(TOTP)
TOTP:Time-Based One-Time Password Algorithm,基于时间同步的一次性口令,动态口令 技术标准:https://tools.ietf.org/html/rfc62 ...
- 动态口令(OTP)认证技术概览
动态口令(OTP,One-Time Password)又称一次性密码,是使用密码技术实现的在客户端和服务器之间通过共享秘密的一种认证技术,是一种强认证技术,是增强目前静态口令认证的一种非常方便技术手段 ...
- 【转】动态口令(OTP)认证技术
动态口令(OTP,One-Time Password)又称一次性密码,是使用密码技术实现的在客户端和服务器之间通过共享秘密的一种认证技术,是一种强认证技术,是增强目前静态口令认证的一种非常方便技术手段 ...
最新文章
- 【网络安全】xhCMS代码审计思路
- 设计模式的Java 8 Lambda表达式–装饰器设计模式
- 计算机房的英语用谐音怎么读,“人机对话”学英语 发音不准就过不了电脑关...
- IOS 修改UIAlertController的按钮标题的字体颜色,字号,内容
- pC机OracLe库磁盘坏如何恢复,电脑硬盘坏了数据能恢复吗(6步教你自己在家轻松恢复数据)...
- VB讲课笔记11:多重窗体与环境应用
- 2021-08-3126. 删除有序数组中的重复项 数组
- php 图片扣背景透明,php 处理透明背景的图片时的问题
- 计算机信息的应用安全中心在哪,怎么通过windows安全中心扫描出当前具有威胁的应用...
- limesurvey php5.2,Limesurvey二次开发(接入CAS统一身份认证)随笔
- python-读取dcm文件-2021.5.24
- 赋能智慧交通的5G关键技术
- Excel 电子表格文件格式剖析
- Python初学3——数字类型及操作
- 我也就是尝试了一下斗图的快乐
- C语言学习笔记—链表(四)链表的删除
- 我要搬家到51CTO了
- Eth 2.0 会成为第一个从 PoW转PoS 的公链吗?丨SheKnows第五期
- python 笛卡尔_Python实现求笛卡尔乘积的方法
- Kafka从入门到精通(七)分区和副本机制
热门文章
- Vue 中v-model的完整用法(v-model的实现原理)
- 大型商城系统(永久免费的商城系统)
- 表格设置翻页 html,使用原生JS实现表格数据的翻页功能
- 用 CSS 替代 HTML 的 table tag 设计网页版面
- 两部鬼吹灯:一部拍出了电影效果,另一部却成了搞笑综艺
- 搭建scratch环境
- ABB机器人数组码垛精解
- java回合制游戏女主牺牲自己_java – 回合制游戏设计:事件驱动与游戏循环
- 【论文解读 ICDM 2019 | MVNN】Exploiting Multi-domain Visual Information for Fake News Detection
- 财报背后,名创优品下一站奔向哪?