Package cn.dev33.satoken.secure.totp
Class SaTotpUtil
java.lang.Object
cn.dev33.satoken.secure.totp.SaTotpUtil
TOTP 工具类,支持 生成/验证 动态一次性密码
- Since:
- 1.42.0
- Author:
- click33
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionstatic void校验用户输入的TOTP是否有效,如果无效则抛出异常static StringgenerateGoogleSecretKey(String account) 生成谷歌认证器的扫码字符串 (形如:otpauth://totp/{account}?static StringgenerateGoogleSecretKey(String account, String secretKey) 生成谷歌认证器的扫码字符串 (形如:otpauth://totp/{account}?static StringgenerateGoogleSecretKey(String account, String issuer, String secretKey) 生成谷歌认证器的扫码字符串 (形如:otpauth://totp/{issuer}:{account}?static String生成随机密钥(Base32编码)static StringgenerateTOTP(String secretKey) 生成当前时间的TOTP验证码static booleanvalidateTOTP(String secretKey, String code, int timeWindowOffset) 判断用户输入的TOTP是否有效
-
Constructor Details
-
SaTotpUtil
public SaTotpUtil()
-
-
Method Details
-
generateSecretKey
生成随机密钥(Base32编码)- Returns:
- /
-
generateTOTP
生成当前时间的TOTP验证码- Parameters:
secretKey- Base32编码的密钥- Returns:
- /
-
validateTOTP
判断用户输入的TOTP是否有效- Parameters:
secretKey- Base32编码的密钥code- 用户输入的验证码timeWindowOffset- 允许的时间窗口偏移量(如1表示允许前后各1个时间窗口)- Returns:
- /
-
checkTOTP
校验用户输入的TOTP是否有效,如果无效则抛出异常- Parameters:
secretKey- Base32编码的密钥code- 用户输入的验证码timeWindowOffset- 允许的时间窗口偏移量(如1表示允许前后各1个时间窗口)
-
generateGoogleSecretKey
生成谷歌认证器的扫码字符串 (形如:otpauth://totp/{account}?secret={secretKey})- Parameters:
account- 账户名- Returns:
- /
-
generateGoogleSecretKey
生成谷歌认证器的扫码字符串 (形如:otpauth://totp/{account}?secret={secretKey})- Parameters:
account- 账户名secretKey- TOTP 秘钥- Returns:
- /
-
generateGoogleSecretKey
生成谷歌认证器的扫码字符串 (形如:otpauth://totp/{issuer}:{account}?secret={secretKey}&issuer={issuer})- Parameters:
account- 账户名issuer- 签发者secretKey- TOTP 秘钥- Returns:
- /
-