背景

  • 最近用到了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动态口令及其实现相关推荐

  1. OTP 动态口令验证

    OTP 动态口令验证. 简介 动态口令(OTP,One-Time Password)又称一次性密码,是使用密码技术实现的在客户端和服务器之间通过共享秘密的一种认证技术,是一种强认证技术,是增强目前静态 ...

  2. 使用otp动态口令ssh登录linux

    linux上各应用的权限认证使用pam机制(http://www.linux-pam.org/ https://github.com/linux-pam/linux-pam ). 这里需要一个支持ot ...

  3. 使用OTP动态口令(每分钟变一次)进行登录认证

    GIT地址:https://github.com/suyin58/otp-demo 动态码截图: 在对外网开放的后台管理系统中,使用静态口令进行身份验证可能会存在如下问题: (1) 为了便于记忆,用户 ...

  4. OTP动态口令的Java实现

    最近项目需要在应用中在登录时增加otp动态口令,作为二次密码的验证,原谅本人的孤陋寡闻居然是初次听说这技术,然后各种在网上查相关资料,发现想研究透此中算法时间太紧迫.鉴于此本人就不细说这个技术原理了( ...

  5. 身份认证OTP动态口令应用案例

    着互联网技术的发展,电子商务.企业办公.电子银行等互联网应用正在日益紧密的和我们的工作.生活相关联.在我们享受互联网带来便利的同时,却一直被互联网安全问题困扰着,有了杀毒软件来帮我们查杀病毒,有了防火 ...

  6. OTP动态口令之Java实现双重认证

    前言 双重认证(英语:Two-factor authentication,缩写为2FA),又译为双重验证.双因素认证.二元认证,又称两步骤验证(2-Step Verification,又译两步验证), ...

  7. 动态口令(OTP,One-Time Password)原理与实践(TOTP)

    TOTP:Time-Based One-Time Password Algorithm,基于时间同步的一次性口令,动态口令 技术标准:https://tools.ietf.org/html/rfc62 ...

  8. 动态口令(OTP)认证技术概览

    动态口令(OTP,One-Time Password)又称一次性密码,是使用密码技术实现的在客户端和服务器之间通过共享秘密的一种认证技术,是一种强认证技术,是增强目前静态口令认证的一种非常方便技术手段 ...

  9. 【转】动态口令(OTP)认证技术

    动态口令(OTP,One-Time Password)又称一次性密码,是使用密码技术实现的在客户端和服务器之间通过共享秘密的一种认证技术,是一种强认证技术,是增强目前静态口令认证的一种非常方便技术手段 ...

最新文章

  1. opencv把图片转换成二进制_如何增强图像,然后使用Python和OpenCV将其转换为二进制图像?...
  2. 利用LeNet识别十种动物和水果
  3. TCP-IP详解:重传机制
  4. android插件框架机制的选择,Android插件开发初探——基础篇
  5. 【学术相关】魔术乘法:张成奇教授40年磨一剑!
  6. 转:靠谱的代码和DRY
  7. linux服务之NIS
  8. android canvas_Android 如何实现气泡选择动画
  9. [转载] Java8 Stream流遍历 如何使用索引
  10. Python列表与数字的四则运算
  11. 5G是什么?5G能做什么?5G在未来将带来什么?
  12. 竞价推广经验分享 账户的搭建方法
  13. E/art﹕Failed sending reply to debugger: Broken pipe的解决方法
  14. 数据分析复盘报告,用Excel轻松搞掂!
  15. PrintWriter的print和write输出区别
  16. 知乎宣布完成2.7亿美元融资 引入前蜜芽合伙人孙伟为CFO
  17. 自来水厂计算机专业笔试题,注册给排水基础考试真题.docx
  18. 网络安全——会话层安全协议
  19. 一张纸折叠N次,请从上到下打印所有的:凹凸折痕
  20. 2021-02-04:第一年农场有1只成熟的母牛A,往后的每年:①每一只成熟的母牛都会生一只母牛 ②每一只新出生的母牛都在出生的第三年成熟 ③每一只母牛永远不会死 。请问N年后牛的数量是多少 ?

热门文章

  1. Installing Intel® INDE
  2. Python爬虫学习笔记-第六课(正则表达式下+csv模块的使用)
  3. Java的第五次总结
  4. 论文阅读笔记:MGAT: Multi-view Graph Attention Networks
  5. Frist Blog
  6. hamachi联机_hamachi联机的操作教程
  7. 求1到100之间的所有的整数和,包括100
  8. IDEA热部署插件JRebel下载、注册教程
  9. Vmix启动时“0的值对于emsize无效”
  10. 中央电大计算机专业指南试题,《计算机专业指南》期末试题.doc