CSDN实训第四天(OTP——动态令牌的实现)
一、前言
出于对重要文件的保护,产生了 密码
和验证码
这一产物。如今验证码有很多形式,Gif动画验证码、手机短信验证码、手机语音验证码、视频验证码等等,但这些验证码都可归为两大类:一次性验证码(HOTP)与二次验证码(TOTP),它们都基于OTP基础演变而来。
详细请参考:
验证码:https://baike.baidu.com/item/%E9%AA%8C%E8%AF%81%E7%A0%81/31701?fr=aladdin
二次验证码:https://baike.baidu.com/item/%E4%BA%8C%E6%AC%A1%E9%AA%8C%E8%AF%81%E7%A0%81/51008745?fr=aladdin
那么OTP到底是什么呢,让我们一起来了解:
二、动态令牌
1、什么是令牌
- 令牌,一般又称为token,在软件开发中用于身份认证。
- 令牌和密码一样,都可以保护某些敏感的操作或资源对象。
- 但不同的是,密码是一组比较固定的字符串,而令牌是变化的。令牌最经常使用的两个场景
- 访问控制令牌
- 并发中的限流——令牌桶/漏桶
- 如果每次访问都要跳转到登录界面去输入密码,既繁琐也不安全(可能会泄露),这时候就需要令牌这种简便且快捷的方式来实现身份认证与数据交互——正如在第三方登录中看到的那样
2、动态令牌的作用
-
相对于普通令牌的一成不变(也是相对而言,普通令牌并不是一成不变,只是和动态令牌相比有效期长得多而已),另—种用于访问控制的令牌技术已成为事实上的主流,那就是——动态令牌,它还有另外一个雅称:二次验证码
-
动态令牌或二次验证码源于—种称之为OTP的技术
-
OTP 是 One-Time Password的简写,表示一次性密码。
-
HOTP 是HMAC-based One-Time Password的简写,表示基于HMAC算法加密的一次性密码。
是事件同步,通过某