登录
首页 >  Golang >  Go问答

带有有效期代码的验证码

来源:stackoverflow

时间:2024-04-14 23:45:34 345浏览 收藏

大家好,今天本人给大家带来文章《带有有效期代码的验证码》,文中内容主要涉及到,如果你对Golang方面的知识点感兴趣,那就请各位朋友继续看下去吧~希望能真正帮到你们,谢谢!

问题内容

我做了 go gin 项目

使用twilio等技术,使用aws sns的短信发送功能向用户发送6位过期日期验证码。

当我尝试使用电话号码和六位身份验证码实现用户创建的函数时,我没有想出一个好主意来实现为身份验证码提供到期日期的函数。

有人有好主意吗?你知道这样的库吗?

这是我的源代码,我已经创建了创建 6 位身份验证号码的逻辑

func GenerateAuthCode(max int) string {
    var table = [...]byte{'1', '2', '3', '4', '5', '6', '7', '8', '9', '0'}
    b := make([]byte, max)
    n, err := io.ReadAtLeast(rand.Reader, b, max)
    if n != max {
        return err.Error()
    }
    for i := 0; i < len(b); i++ {
        b[i] = table[int(b[i])%len(table)]
    }
    return string(b)
}

我想按照这个逻辑生成


解决方案


您当前的架构中是否使用任何键值存储?如果是这样,那么您可以使用它来维护生成的授权代码的 TTL。

例如。在Redis中,您可以直接设置键的TTL。在其他存储中,本质上不支持 TTL,您可以只存储令牌有效之前的 Unix 时间戳。

今天关于《带有有效期代码的验证码》的内容介绍就到此结束,如果有什么疑问或者建议,可以在golang学习网公众号下多多回复交流;文中若有不正之处,也希望回复留言以告知!

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>