1 Star 1 Fork 1

xiaoyutab / xgotool

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
get.go 750 Bytes
一键复制 编辑 原始数据 按行查看 历史
xiaoyutab 提交于 2024-03-26 13:15 . 调整谷歌密钥获取规则
package xgoogauth
import (
"fmt"
"strings"
"time"
)
// 根据秘钥获取随机数字验证码
//
// secret 秘钥标识
func Get(secret string) string {
return GetLv(secret, 0)
}
// 根据秘钥获取随机数字验证码
//
// secret 秘钥标识
// lv 获取层级 0-当前密钥 -1-前x秒密钥 -2-前2x秒的密钥 1-后x秒的密钥...
func GetLv(secret string, lv int) string {
if secret == "" {
return ""
}
tm := time.Now().Unix() + int64(lv)*CodeTime
secretUpper := strings.ToUpper(secret)
secretKey, err := base32decode(secretUpper)
if err != nil {
_default.LogErrorFunc("谷歌秘钥Code获取失败", err)
return ""
}
number := oneTimePassword(secretKey, toBytes(tm/CodeTime))
return fmt.Sprintf("%06d", number)
}
Go
1
https://gitee.com/xiaoyutab/xgotool.git
git@gitee.com:xiaoyutab/xgotool.git
xiaoyutab
xgotool
xgotool
v0.3.13

搜索帮助