[发明专利]基于redis的数字验证码的获取方法在审
申请号: | 201710524814.9 | 申请日: | 2017-06-30 |
公开(公告)号: | CN107241343A | 公开(公告)日: | 2017-10-10 |
发明(设计)人: | 曹义;焦胜彪;冯方方;孙健;刘斌;付强 | 申请(专利权)人: | 环球智达科技(北京)有限公司 |
主分类号: | H04L29/06 | 分类号: | H04L29/06 |
代理公司: | 北京慧诚智道知识产权代理事务所(特殊普通合伙)11539 | 代理人: | 李楠 |
地址: | 100043 北京市石景*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 redis 数字 验证 获取 方法 | ||
技术领域
本发明涉及数据处理技术领域,尤其涉及一种基于redis的数字验证码的获取方法。
背景技术
随着互联网技术的蓬勃发展,用户越来越普遍地通过终端设备接入互联网获取各种资讯信息,办理各种业务等。为了保证信息的安全性,经常需要通过验证码的方式对操作进行验证。
现有技术中,用户通过移动终端获取数字验证码,具体操作步骤如下:
1、用户填写手机号码之后,点击获取验证码,服务器生成一个随机的数字序列作为数字验证码,并临时记录下来,同时将短信内容和用户的手机号码通过验证码短信接口提交到服务商。
2、服务商将短信即时发送到用户的手机,用户收到短信后,填写数字验证码,并发送到服务器,服务器将用户填写的数字验证码和服务器生成的数字序列进行比对,如果一致,则验证成功。
现有技术中的数字验证码的获取方法存在以下问题:
1、服务器在每次接收到用户获取数字验证码的请求时,都需要重新随机生成固定位数的数字验证码,增加了工作量。
2、不支持用户在规定时间内多次获取验证码,如果验证码误删除,则需要等待时间过期才能重新获取验证码,比较浪费时间。
3、由于验证码是随机生成的,因此不能保证用户获取的验证码在规定时间内的唯一性,从而影响安全性。
发明内容
本发明提供了一种基于redis的数字验证码的获取方法,以解决现有技术中存在的问题。
本发明实施例提供了一种基于redis的数字验证码的获取方法,包括:
服务器获取预设时间内的用户数量;
根据所述用户数量利用随机函数生成包含第一数量个数字验证码的第一数组,所述第一数量个数字验证码按照第一顺序在所述第一数组中进行排列;
按照预设方式改变所述第一数量个数字验证码在所述第一数组中的排列顺序,生成第二数组,所述第一数量个数字验证码按照第二顺序在所述第二数组中进行排列;
将所述第二数组存储在redis链表中;
接收第一终端发送的验证码获取请求,所述验证码获取请求中包含第二终端ID;
从所述redis链表中调用所述第二数组中的第一数字验证码发送给所述第二终端,所述第一数字验证码在所述redis链表中顺序排在最后位置;
所述第二终端将所述第一数字验证码发送给所述第一终端。
进一步的,在从所述redis链表中调用所述第二数组中的第一数字验证码发送给所述第二终端之后,所述方法还包括:
所述服务器将所述第一数字验证码添加在所述redis链表中的第一位置。
进一步的,所述服务器将所述第一数字验证码添加在所述redis链表中的第一位置具体包括:
所述服务器利用rpoplpush函数将第一数字验证码添加在所述redis链表中的第一位置。
进一步的,所述第一顺序具体包括:
按照所述数字验证码的数值由小到大的顺序。
进一步的,所述按照预设方式改变所述第一数量个数字验证码在所述第一数组中的排列顺序,生成第二数组具体包括:
利用shuffle函数将按照第一顺序排列的数字验证码处理成按照第二顺序排列的数字验证码。
进一步的,所述从所述redis链表中调用所述第二数组中的第一数字验证码发送给所述第二终端具体包括:
所述服务器利用rpop函数从所述第二数组中调用第一数字验证码,并生成发送信息发送给所述第二终端。
进一步的,所述接收第一终端发送的验证码获取请求之前,所述方法还包括:
所述第一终端向所述服务器发送登录信息,所述服务器对所述登录信息进行验证。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于环球智达科技(北京)有限公司,未经环球智达科技(北京)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710524814.9/2.html,转载请声明来源钻瓜专利网。