CN108810831B - 短信验证码的推送方法、电子装置及可读存储介质 - Google Patents
短信验证码的推送方法、电子装置及可读存储介质 Download PDFInfo
- Publication number
- CN108810831B CN108810831B CN201810345029.1A CN201810345029A CN108810831B CN 108810831 B CN108810831 B CN 108810831B CN 201810345029 A CN201810345029 A CN 201810345029A CN 108810831 B CN108810831 B CN 108810831B
- Authority
- CN
- China
- Prior art keywords
- short message
- preset
- mobile phone
- message verification
- verification code
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/18—Network architectures or network communication protocols for network security using different networks or channels, e.g. using out of band channels
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/55—Push-based network services
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W12/00—Security arrangements; Authentication; Protecting privacy or anonymity
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W4/00—Services specially adapted for wireless communication networks; Facilities therefor
- H04W4/12—Messaging; Mailboxes; Announcements
- H04W4/14—Short messaging services, e.g. short message services [SMS] or unstructured supplementary service data [USSD]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Telephonic Communication Services (AREA)
- Telephone Function (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
本发明涉及一种短信验证码的推送方法、电子装置及可读存储介质,该方法包括:收到用户发出的短信验证码生成请求后,获取用户手机号码;判断用户手机号码是否在预设的黑名单中;若用户手机号码不在预设的黑名单中,则生成用户手机号码对应的短信验证码,并将生成的短信验证码放入预设队列;启动预设数量的线程,按预设的多线程推送规则并利用预设数量的线程读取预设队列中的短信验证码,将读取的短信验证码及对应的用户手机号码推送至预设的短信推送平台。本发明提高了生成短信验证码的安全性,同时,启动多线程来进行短信验证码的推送,能高效率地快速推送出生成的短信验证码,用户手机接收到短信验证码的速度更快,提高用户体验。
Description
技术领域
本发明涉及计算机技术领域,尤其涉及一种短信验证码的推送方法、电子装置及可读存储介质。
背景技术
目前,对于大型互联网金融企业,有很多业务场景都会使用到短信验证码,现有技术中生成短信验证码的方法一般是只要用户申请,均能获取到短信验证码,即现有生成短信验证码的方法都没有设置任何安全机制,安全性不高。而且,现有技术在生成短信验证码后推送给用户时,采用等同步方式推送短信验证码,短信推送时间缓慢,效率低下,造成用户体验不佳。
发明内容
本发明的目的在于提供一种短信验证码的推送方法、电子装置及可读存储介质,旨在提高短信验证码的安全性及推送效率。
为实现上述目的,本发明提供一种电子装置,所述电子装置包括存储器、处理器,所述存储器上存储有可在所述处理器上运行的短信验证码的推送系统,所述短信验证码的推送系统被所述处理器执行时实现如下步骤:
收到用户发出的短信验证码生成请求后,获取用户手机号码;
判断所述用户手机号码是否在预设的黑名单中;
若所述用户手机号码不在预设的黑名单中,则生成所述用户手机号码对应的短信验证码,并将生成的短信验证码放入预设队列;
启动预设数量的线程,按预设的多线程推送规则并利用预设数量的线程读取所述预设队列中的短信验证码,将读取的短信验证码及对应的用户手机号码推送至预设的短信推送平台,以针对所述用户手机号码进行短信验证码的推送。
优选地,在所述判断所述用户手机号码是否在预设的黑名单中的步骤之前,所述处理器还用于执行所述短信验证码的推送系统,以实现以下步骤:
统计申请短信验证码的每个手机号码每天进行短信验证码验证的成功率x,根据成功率x计算每个手机号码的信用评分,公式如下:
r=(2/(1+e^ax))-1
其中,0≤x≤1,a为预设常数参数,r为信用评分,若有手机号码的信用评分低于预设评分阈值,则将该手机号码加入预设的黑名单中。
优选地,在所述判断所述用户手机号码是否在预设的黑名单中的步骤之前,所述处理器还用于执行所述短信验证码的推送系统,以实现以下步骤:
检测每个手机号码触发短信验证码生成请求的频率;
若有手机号码触发短信验证码生成请求的频率高于预设频率阈值,则将该手机号码的信用评分下调预设值,若下调预设值后的信用评分低于预设评分阈值,则将该手机号码加入预设的黑名单中。
优选地,所述短信验证码的推送系统被所述处理器执行实现所述启动预设数量的线程,按预设的多线程推送规则并利用预设数量的线程读取所述预设队列中的短信验证码,将读取的短信验证码及对应的用户手机号码推送至预设的短信推送平台的步骤时,包括:
对所述用户手机号码进行HASH函数处理,得到号码HASH值;
将所述号码HASH值映射到预设数量的分区,并启动预设数量的线程,利用预设数量的线程提取对应分区中的号码HASH值,读取所述预设队列中与所述用户手机号码对应的短信验证码,将提取的号码HASH值和短信验证码推送至预设的短信推送平台,以针对所述用户手机号码进行短信验证码的发送。
此外,为实现上述目的,本发明还提供一种短信验证码的推送方法,所述短信验证码的推送方法包括:
收到用户发出的短信验证码生成请求后,获取用户手机号码;
判断所述用户手机号码是否在预设的黑名单中;
若所述用户手机号码不在预设的黑名单中,则生成所述用户手机号码对应的短信验证码,并将生成的短信验证码放入预设队列;
启动预设数量的线程,按预设的多线程推送规则并利用预设数量的线程读取所述预设队列中的短信验证码,将读取的短信验证码及对应的用户手机号码推送至预设的短信推送平台,以针对所述用户手机号码进行短信验证码的推送。
优选地,在判断所述用户手机号码是否在预设的黑名单中的步骤之前,还包括:
统计申请短信验证码的每个手机号码每天进行短信验证码验证的成功率x,根据成功率x计算每个手机号码的信用评分,公式如下:
r=(2/(1+e^ax))-1
其中,0≤x≤1,a为预设常数参数,r为信用评分,若有手机号码的信用评分低于预设评分阈值,则将该手机号码加入预设的黑名单中。
优选地,在判断所述用户手机号码是否在预设的黑名单中的步骤之前,还包括:
检测每个手机号码触发短信验证码生成请求的频率;
若有手机号码触发短信验证码生成请求的频率高于预设频率阈值,则将该手机号码的信用评分下调预设值,若下调预设值后的信用评分低于预设评分阈值,则将该手机号码加入预设的黑名单中。
优选地,所述启动预设数量的线程,按预设的多线程推送规则并利用预设数量的线程读取所述预设队列中的短信验证码,将读取的短信验证码及对应的用户手机号码推送至预设的短信推送平台的步骤包括:
对所述用户手机号码进行HASH函数处理,得到号码HASH值;
将所述号码HASH值映射到预设数量的分区,并启动预设数量的线程,利用预设数量的线程提取对应分区中的号码HASH值,读取所述预设队列中与所述用户手机号码对应的短信验证码,将提取的号码HASH值和短信验证码推送至预设的短信推送平台,以针对所述用户手机号码进行短信验证码的发送。
优选地,该方法还包括:
为申请短信验证码的每个手机号码分配一个令牌,若手机号码为首次申请短信验证码,则为首次申请短信验证码的手机号码分配的令牌计数为0;
若手机号码在申请短信验证码后认证失败,则对该认证失败手机号码的令牌计数加1,若该手机号码连续认证失败,则对该手机号码的令牌计数连续加1;若该手机号码在申请短信验证码后认证成功,则对该手机号码的令牌计数初始化为0;
监测申请短信验证码的每个手机号码的令牌计数,若有手机号码的令牌计数达到预设计数阈值,则将令牌计数达到预设计数阈值的手机号码的令牌在预设时间内进行锁定;
所述若所述用户手机号码不在预设的黑名单中,则生成所述用户手机号码对应的短信验证码,并将生成的短信验证码放入预设队列的步骤包括:
若所述用户手机号码不在预设的黑名单中,则分析所述用户手机号码的令牌状态;
若分析所述用户手机号码的令牌没有被锁定,则生成所述用户手机号码对应的短信验证码,并将生成的短信验证码放入预设队列。
进一步地,为实现上述目的,本发明还提供一种计算机可读存储介质,所述计算机可读存储介质存储有短信验证码的推送系统,所述短信验证码的推送系统可被至少一个处理器执行,以使所述至少一个处理器执行如上述的短信验证码的推送方法的步骤。
本发明提出的短信验证码的推送方法、电子装置及可读存储介质,在收到用户发出的短信验证码生成请求后,获取用户手机号码;判断所述用户手机号码是否在预设的黑名单中;若所述用户手机号码不在预设的黑名单中,则生成所述用户手机号码对应的短信验证码,并将生成的短信验证码放入预设队列;启动预设数量的线程,按预设的多线程推送规则并利用预设数量的线程读取所述预设队列中的短信验证码,将读取的短信验证码及对应的用户手机号码推送至预设的短信推送平台。由于设置了黑名单安全机制,只有不在黑名单中的手机号码才会生成短信验证码,提高了生成短信验证码的安全性,同时,启动多线程来进行短信验证码的推送,能高效率地快速推送出生成的短信验证码,用户手机接收到短信验证码的速度更快,提高用户体验。
附图说明
图1为本发明短信验证码的推送系统10较佳实施例的运行环境示意图;
图2为本发明短信验证码的推送系统10一实施例中短信验证码的多线程推送示意图;
图3为本发明短信验证码的推送方法一实施例的流程示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
需要说明的是,在本发明中涉及“第一”、“第二”等的描述仅用于描述目的,而不能理解为指示或暗示其相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。另外,各个实施例之间的技术方案可以相互结合,但是必须是以本领域普通技术人员能够实现为基础,当技术方案的结合出现相互矛盾或无法实现时应当认为这种技术方案的结合不存在,也不在本发明要求的保护范围之内。
本发明提供一种短信验证码的推送系统。请参阅图1,是本发明短信验证码的推送系统10较佳实施例的运行环境示意图。
在本实施例中,所述的短信验证码的推送系统10安装并运行于电子装置1中。该电子装置1可包括,但不仅限于,存储器11、处理器12及显示器13。图1仅示出了具有组件11-13的电子装置1,但是应理解的是,并不要求实施所有示出的组件,可以替代的实施更多或者更少的组件。
所述存储器11为至少一种类型的可读计算机存储介质,所述存储器11在一些实施例中可以是所述电子装置1的内部存储单元,例如该电子装置1的硬盘或内存。所述存储器11在另一些实施例中也可以是所述电子装置1的外部存储设备,例如所述电子装置1上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。进一步地,所述存储器11还可以既包括所述电子装置1的内部存储单元也包括外部存储设备。所述存储器11用于存储安装于所述电子装置1的应用软件及各类数据,例如所述短信验证码的推送系统10的程序代码等。所述存储器11还可以用于暂时地存储已经输出或者将要输出的数据。
所述处理器12在一些实施例中可以是一中央处理器(Central Processing Unit,CPU),微处理器或其他数据处理芯片,用于运行所述存储器11中存储的程序代码或处理数据,例如执行所述短信验证码的推送系统10等。
所述显示器13在一些实施例中可以是LED显示器、液晶显示器、触控式液晶显示器以及OLED(Organic Light-Emitting Diode,有机发光二极管)触摸器等。所述显示器13用于显示在所述电子装置1中处理的信息以及用于显示可视化的用户界面,例如生成的短信验证码、短信验证码是否推送成功的反馈信息等。所述电子装置1的部件11-13通过系统总线相互通信。
短信验证码的推送系统10包括至少一个存储在所述存储器11中的计算机可读指令,该至少一个计算机可读指令可被所述处理器12执行,以实现本申请各实施例。
其中,上述短信验证码的推送系统10被所述处理器12执行时实现如下步骤:
步骤S1,收到用户发出的短信验证码生成请求后,获取用户手机号码。
本实施例中,短信验证码的推送系统接收用户发出的包含用户手机号码的短信验证码生成请求,例如,接收用户通过手机、平板电脑、自助终端设备等终端发送的短信验证码生成请求,如接收用户在手机、平板电脑、自助终端设备等终端中预先安装的客户端上发送来的短信验证码生成请求,或接收用户在手机、平板电脑、自助终端设备等终端中的浏览器系统上发送来的短信验证码生成请求。例如,用户在指定位置输入手机号码后,点击“获取短信验证码”按钮,从而触发短信验证码生成请求。
步骤S2,判断所述用户手机号码是否在预设的黑名单中。
步骤S3,若所述用户手机号码不在预设的黑名单中,则生成所述用户手机号码对应的短信验证码,并将生成的短信验证码放入预设队列。
本实施例中设置有黑名单安全机制,通过设置黑名单来限制部分恶意或者非法用户的访问。具体地,根据设定规则计算评估用户的信用评分,当计算出用户的信用评分低于预先设定的评分阈值时,则将该用户(即其手机号码)加入黑名单中。例如,为每个用户设定初始信用分100,统计用户每天进行短信验证码验证的成功率x,并通过如下公式计算得到用户的信用评分r:
r=(2/(1+e^ax))-1
其中,0≤x≤1,a为根据经验预先设置的常数,例如,本实施例中根据经验可设置a=-6。此外,还可同时检测用户的触发频率,例如点击“获取短信验证码”按钮来触发短信验证码生成请求的频率,若触发频率高于预设频率阈值,则认为存在短时间内高频率请求短信验证码的疑似恶意或非法访问行为,则将计算得到的该用户的信用评分r下调预设值(例如可下调20%),得到每个用户最终的信用评分,根据最终信用评分将有疑似恶意或非法访问行为的用户加入黑名单。例如,每个用户初始信用分100,如果有用户最终计算得到的信用分低于80,则将该用户(即其手机号码)加入黑名单中。
若判断当前发出短信验证码生成请求的用户手机号码在预设的黑名单中,则整个流程结束,无需进入下一步操作。以限制部分恶意或者非法用户的访问。
若判断当前发出短信验证码生成请求的用户手机号码不在预设的黑名单中,则进一步地,检测该用户手机号码的令牌token。本实施例中配置有令牌安全策略,通过设置令牌来限制用户连续认证错误次数,如可判断该用户手机号码的令牌是否符合生成短信验证码的条件。具体地,如果检测到用户是第一次在系统上发出短信验证码生成请求,则为用户分配一个新的令牌token,初始化计数为0;如果一个用户在一次申请短信验证码后认证失败,则将会对该用户的令牌token计数加1,若接着连续认证失败,则将该用户的令牌token计数连续加1。如果用户在一次申请短信验证码后认证成功,则将该用户的令牌token初始化,即从0开始重新计数。若有用户的令牌token计数达到预先设定的token最大计数次数n,则说明该用户连续认证错误次数达到最大计数次数n,将会对该用户的令牌token自动锁定m分钟。在检测到当前用户手机号码的令牌token为被锁定的状态时,则判断该用户手机号码的令牌不符合生成短信验证码的条件。从而避免在连续认证错误次数过多的用户(可能为恶意或非法用户)上浪费太多系统资源,以节省系统资源来处理其他正常用户的请求。
若判断当前用户手机号码的令牌不符合生成短信验证码的条件(即该用户手机号码连续认证错误次数达到最大计数次数n),则整个流程结束,无需进入下一步操作。
本实施例中在生成短信验证码时,设置有黑名单安全机制和令牌安全策略,以此来对申请生成短信验证码的用户进行限制,只有在用户手机号码不在黑名单中,且用户手机号码的令牌符合生成短信验证码的条件即该用户手机号码没有多次连续认证错误的情况下,才会生成所述用户手机号码对应的短信验证码,并将生成的短信验证码放入预设队列,保证了生成短信验证码的安全性。
步骤S4,启动预设数量的线程,按预设的多线程推送规则并利用预设数量的线程读取所述预设队列中的短信验证码,将读取的短信验证码及对应的用户手机号码推送至预设的短信推送平台,以针对所述用户手机号码进行短信验证码的推送。
本实施例中,为所述用户手机号码生成对应的短信验证码后,对所述用户手机号码进行HASH函数处理,得到号码HASH值;将所述号码HASH值映射到预设数量的分区,并启动预设数量的线程,利用预设数量的线程提取对应分区中的号码HASH值,读取所述预设队列中与所述用户手机号码对应的短信验证码,将提取的号码HASH值和短信验证码推送至预设的短信推送平台,以针对所述用户手机号码进行短信验证码的发送。
具体的,若判断当前用户手机号码的令牌符合生成短信验证码的条件,则生成短信验证码(例如,可利用该用户手机号码的令牌token及预设参数如预先设定的可变因子,用户请求中的签名因子等计算得到),并将生成的该用户手机号码的短信验证码放入预设队列。同时,根据用户手机号码进行HASH处理,将HASH处理后的号码映射到预设数量的分区(如对应0到31分区)中,在预设多线程处理应用程序启动时自动启动至少预设数量(如32个)的线程,利用预设数量(如32个)的线程提取对应分区中HASH后的号码,并利用预设数量(如32个)的线程读取预设队列中与该号码对应的短信验证码,最后将从对应分区中提取的号码和读取的预设队列中与该号码对应的短信验证码一起推送到预设的短信平台,以针对该号码进行短信验证码的发送。从而实现短信验证码的多线程推送,有效地缩短短信推送时间。
如图2所示,图2为本发明短信验证码的推送系统10一实施例中短信验证码的多线程推送示意图。在图2中一种具体的短信验证码推送应用场景中,预设多线程处理应用程序中包括A、B、C三个实例,首先根据手机号码进行HASH处理,得到每个手机号码对应的号码HASH值如可记为HASH(phone),将每个手机号码对应的号码HASH值映射到0到31分区。如果当前启动了A、B、C三个实例,每个实例将会启动32个线程分别处理对应分区的数据即号码HASH值。提取到对应分区中的号码HASH值后,读取预设队列中与各个手机号码对应的短信验证码,将提取的号码HASH值和短信验证码推送至预设的短信推送平台,以针对所述用户手机号码进行短信验证码的发送。
本实施例中在生成短信验证码时,设置有黑名单安全机制和令牌安全策略,以此来对申请生成短信验证码的用户进行限制,通过设置黑名单可有效限制部分恶意或者非法用户的访问,通过设置令牌可有效限制用户连续认证错误次数,从而提高生成短信验证码的安全性。同时,在推送生成的短信验证码时,启动多线程来进行短信验证码的推送,能高效率地快速推送出生成的短信验证码,用户手机接收到短信验证码的速度更快,提高用户体验。
如图3所示,图3为本发明短信验证码的推送方法一实施例的流程示意图,该短信验证码的推送方法包括以下步骤:
步骤S10,收到用户发出的短信验证码生成请求后,获取用户手机号码。
本实施例中,短信验证码的推送系统接收用户发出的包含用户手机号码的短信验证码生成请求,例如,接收用户通过手机、平板电脑、自助终端设备等终端发送的短信验证码生成请求,如接收用户在手机、平板电脑、自助终端设备等终端中预先安装的客户端上发送来的短信验证码生成请求,或接收用户在手机、平板电脑、自助终端设备等终端中的浏览器系统上发送来的短信验证码生成请求。例如,用户在指定位置输入手机号码后,点击“获取短信验证码”按钮,从而触发短信验证码生成请求。
步骤S20,判断所述用户手机号码是否在预设的黑名单中。
步骤S30,若所述用户手机号码不在预设的黑名单中,则生成所述用户手机号码对应的短信验证码,并将生成的短信验证码放入预设队列。
本实施例中设置有黑名单安全机制,通过设置黑名单来限制部分恶意或者非法用户的访问。具体地,根据设定规则计算评估用户的信用评分,当计算出用户的信用评分低于预先设定的评分阈值时,则将该用户(即其手机号码)加入黑名单中。例如,为每个用户设定初始信用分100,统计用户每天进行短信验证码验证的成功率x,并通过如下公式计算得到用户的信用评分r:
r=(2/(1+e^ax))-1
其中,0≤x≤1,a为根据经验预先设置的常数,例如,本实施例中根据经验可设置a=-6。此外,还可同时检测用户的触发频率,例如点击“获取短信验证码”按钮来触发短信验证码生成请求的频率,若触发频率高于预设频率阈值,则认为存在短时间内高频率请求短信验证码的疑似恶意或非法访问行为,则将计算得到的该用户的信用评分r下调预设值(例如可下调20%),得到每个用户最终的信用评分,根据最终信用评分将有疑似恶意或非法访问行为的用户加入黑名单。例如,每个用户初始信用分100,如果有用户最终计算得到的信用分低于80,则将该用户(即其手机号码)加入黑名单中。
若判断当前发出短信验证码生成请求的用户手机号码在预设的黑名单中,则整个流程结束,无需进入下一步操作。以限制部分恶意或者非法用户的访问。
若判断当前发出短信验证码生成请求的用户手机号码不在预设的黑名单中,则进一步地,检测该用户手机号码的令牌token。本实施例中配置有令牌安全策略,通过设置令牌来限制用户连续认证错误次数,如可判断该用户手机号码的令牌是否符合生成短信验证码的条件。具体地,如果检测到用户是第一次在系统上发出短信验证码生成请求,则为用户分配一个新的令牌token,初始化计数为0;如果一个用户在一次申请短信验证码后认证失败,则将会对该用户的令牌token计数加1,若接着连续认证失败,则将该用户的令牌token计数连续加1。如果用户在一次申请短信验证码后认证成功,则将该用户的令牌token初始化,即从0开始重新计数。若有用户的令牌token计数达到预先设定的token最大计数次数n,则说明该用户连续认证错误次数达到最大计数次数n,将会对该用户的令牌token自动锁定m分钟。在检测到当前用户手机号码的令牌token为被锁定的状态时,则判断该用户手机号码的令牌不符合生成短信验证码的条件。从而避免在连续认证错误次数过多的用户(可能为恶意或非法用户)上浪费太多系统资源,以节省系统资源来处理其他正常用户的请求。
若判断当前用户手机号码的令牌不符合生成短信验证码的条件(即该用户手机号码连续认证错误次数达到最大计数次数n),则整个流程结束,无需进入下一步操作。
本实施例中在生成短信验证码时,设置有黑名单安全机制和令牌安全策略,以此来对申请生成短信验证码的用户进行限制,只有在用户手机号码不在黑名单中,且用户手机号码的令牌符合生成短信验证码的条件即该用户手机号码没有多次连续认证错误的情况下,才会生成所述用户手机号码对应的短信验证码,并将生成的短信验证码放入预设队列,保证了生成短信验证码的安全性。
步骤S40,启动预设数量的线程,按预设的多线程推送规则并利用预设数量的线程读取所述预设队列中的短信验证码,将读取的短信验证码及对应的用户手机号码推送至预设的短信推送平台,以针对所述用户手机号码进行短信验证码的推送。
本实施例中,为所述用户手机号码生成对应的短信验证码后,对所述用户手机号码进行HASH函数处理,得到号码HASH值;将所述号码HASH值映射到预设数量的分区,并启动预设数量的线程,利用预设数量的线程提取对应分区中的号码HASH值,读取所述预设队列中与所述用户手机号码对应的短信验证码,将提取的号码HASH值和短信验证码推送至预设的短信推送平台,以针对所述用户手机号码进行短信验证码的发送。
具体的,若判断当前用户手机号码的令牌符合生成短信验证码的条件,则生成短信验证码(例如,可利用该用户手机号码的令牌token及预设参数如预先设定的可变因子,用户请求中的签名因子等计算得到),并将生成的该用户手机号码的短信验证码放入预设队列。同时,根据用户手机号码进行HASH处理,将HASH处理后的号码映射到预设数量的分区(如对应0到31分区)中,在预设多线程处理应用程序启动时自动启动至少预设数量(如32个)的线程,利用预设数量(如32个)的线程提取对应分区中HASH后的号码,并利用预设数量(如32个)的线程读取预设队列中与该号码对应的短信验证码,最后将从对应分区中提取的号码和读取的预设队列中与该号码对应的短信验证码一起推送到预设的短信平台,以针对该号码进行短信验证码的发送。从而实现短信验证码的多线程推送,有效地缩短短信推送时间。
如图2所示,在图2中一种具体的短信验证码推送应用场景中,预设多线程处理应用程序中包括A、B、C三个实例,首先根据手机号码进行HASH处理,得到每个手机号码对应的号码HASH值如可记为HASH(phone),将每个手机号码对应的号码HASH值映射到0到31分区。如果当前启动了A、B、C三个实例,每个实例将会启动32个线程分别处理对应分区的数据即号码HASH值。提取到对应分区中的号码HASH值后,读取预设队列中与各个手机号码对应的短信验证码,将提取的号码HASH值和短信验证码推送至预设的短信推送平台,以针对所述用户手机号码进行短信验证码的发送。
本实施例中在生成短信验证码时,设置有黑名单安全机制和令牌安全策略,以此来对申请生成短信验证码的用户进行限制,通过设置黑名单可有效限制部分恶意或者非法用户的访问,通过设置令牌可有效限制用户连续认证错误次数,从而提高生成短信验证码的安全性。同时,在推送生成的短信验证码时,启动多线程来进行短信验证码的推送,能高效率地快速推送出生成的短信验证码,用户手机接收到短信验证码的速度更快,提高用户体验。
此外,本发明还提供一种计算机可读存储介质,所述计算机可读存储介质存储有短信验证码的推送系统,所述短信验证码的推送系统可被至少一个处理器执行,以使所述至少一个处理器执行如上述实施例中的短信验证码的推送方法的步骤,该短信验证码的推送方法的步骤S10、S20、S30等具体实施过程如上文所述,在此不再赘述。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件来实现,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。
以上参照附图说明了本发明的优选实施例,并非因此局限本发明的权利范围。上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。另外,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
本领域技术人员不脱离本发明的范围和实质,可以有多种变型方案实现本发明,比如作为一个实施例的特征可用于另一实施例而得到又一实施例。凡在运用本发明的技术构思之内所作的任何修改、等同替换和改进,均应在本发明的权利范围之内。
Claims (8)
1.一种电子装置,其特征在于,所述电子装置包括存储器、处理器,所述存储器上存储有可在所述处理器上运行的短信验证码的推送系统,所述短信验证码的推送系统被所述处理器执行时实现如下步骤:
收到用户发出的短信验证码生成请求后,获取用户手机号码;
统计申请短信验证码的每个手机号码每天进行短信验证码验证的成功率x,根据成功率x计算每个手机号码的信用评分,公式如下:
r=(2/(1+e^ax))-1
其中,0≤x≤1,a为预设常数参数,r为信用评分,若有手机号码的信用评分低于预设评分阈值,则将该手机号码加入预设的黑名单中;
判断所述用户手机号码是否在预设的黑名单中;
若所述用户手机号码不在预设的黑名单中,则生成所述用户手机号码对应的短信验证码,并将生成的短信验证码放入预设队列;
启动预设数量的线程,按预设的多线程推送规则并利用预设数量的线程读取所述预设队列中的短信验证码,将读取的短信验证码及对应的用户手机号码推送至预设的短信推送平台,以针对所述用户手机号码进行短信验证码的推送。
2.如权利要求1所述的电子装置,其特征在于,在所述判断所述用户手机号码是否在预设的黑名单中的步骤之前,所述处理器还用于执行所述短信验证码的推送系统,以实现以下步骤:
检测每个手机号码触发短信验证码生成请求的频率;
若有手机号码触发短信验证码生成请求的频率高于预设频率阈值,则将该手机号码的信用评分下调预设值,若下调预设值后的信用评分低于预设评分阈值,则将该手机号码加入预设的黑名单中。
3.如权利要求1或2所述的电子装置,其特征在于,所述短信验证码的推送系统被所述处理器执行实现所述启动预设数量的线程,按预设的多线程推送规则并利用预设数量的线程读取所述预设队列中的短信验证码,将读取的短信验证码及对应的用户手机号码推送至预设的短信推送平台的步骤时,包括:
对所述用户手机号码进行HASH函数处理,得到号码HASH值;
将所述号码HASH值映射到预设数量的分区,并启动预设数量的线程,利用预设数量的线程提取对应分区中的号码HASH值,读取所述预设队列中与所述用户手机号码对应的短信验证码,将提取的号码HASH值和短信验证码推送至预设的短信推送平台,以针对所述用户手机号码进行短信验证码的发送。
4.一种短信验证码的推送方法,其特征在于,所述短信验证码的推送方法包括:
收到用户发出的短信验证码生成请求后,获取用户手机号码;
统计申请短信验证码的每个手机号码每天进行短信验证码验证的成功率x,根据成功率x计算每个手机号码的信用评分,公式如下:
r=(2/(1+e^ax))-1
其中,0≤x≤1,a为预设常数参数,r为信用评分,若有手机号码的信用评分低于预设评分阈值,则将该手机号码加入预设的黑名单中;
判断所述用户手机号码是否在预设的黑名单中;
若所述用户手机号码不在预设的黑名单中,则生成所述用户手机号码对应的短信验证码,并将生成的短信验证码放入预设队列;
启动预设数量的线程,按预设的多线程推送规则并利用预设数量的线程读取所述预设队列中的短信验证码,将读取的短信验证码及对应的用户手机号码推送至预设的短信推送平台,以针对所述用户手机号码进行短信验证码的推送。
5.如权利要求4所述的短信验证码的推送方法,其特征在于,在判断所述用户手机号码是否在预设的黑名单中的步骤之前,还包括:
检测每个手机号码触发短信验证码生成请求的频率;
若有手机号码触发短信验证码生成请求的频率高于预设频率阈值,则将该手机号码的信用评分下调预设值,若下调预设值后的信用评分低于预设评分阈值,则将该手机号码加入预设的黑名单中。
6.如权利要求4或5所述的短信验证码的推送方法,其特征在于,所述启动预设数量的线程,按预设的多线程推送规则并利用预设数量的线程读取所述预设队列中的短信验证码,将读取的短信验证码及对应的用户手机号码推送至预设的短信推送平台的步骤包括:
对所述用户手机号码进行HASH函数处理,得到号码HASH值;
将所述号码HASH值映射到预设数量的分区,并启动预设数量的线程,利用预设数量的线程提取对应分区中的号码HASH值,读取所述预设队列中与所述用户手机号码对应的短信验证码,将提取的号码HASH值和短信验证码推送至预设的短信推送平台,以针对所述用户手机号码进行短信验证码的发送。
7.如权利要求4、5或6所述的短信验证码的推送方法,其特征在于,还包括:
为申请短信验证码的每个手机号码分配一个令牌,若手机号码为首次申请短信验证码,则为首次申请短信验证码的手机号码分配的令牌计数为0;
若手机号码在申请短信验证码后认证失败,则对该认证失败手机号码的令牌计数加1,若该手机号码连续认证失败,则对该手机号码的令牌计数连续加1;若该手机号码在申请短信验证码后认证成功,则对该手机号码的令牌计数初始化为0;
监测申请短信验证码的每个手机号码的令牌计数,若有手机号码的令牌计数达到预设计数阈值,则将令牌计数达到预设计数阈值的手机号码的令牌在预设时间内进行锁定;
所述若所述用户手机号码不在预设的黑名单中,则生成所述用户手机号码对应的短信验证码,并将生成的短信验证码放入预设队列的步骤包括:
若所述用户手机号码不在预设的黑名单中,则分析所述用户手机号码的令牌状态;
若分析所述用户手机号码的令牌没有被锁定,则生成所述用户手机号码对应的短信验证码,并将生成的短信验证码放入预设队列。
8.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有短信验证码的推送系统,所述短信验证码的推送系统被处理器执行时实现如权利要求4至7中任一项所述的短信验证码的推送方法的步骤。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810345029.1A CN108810831B (zh) | 2018-04-17 | 2018-04-17 | 短信验证码的推送方法、电子装置及可读存储介质 |
PCT/CN2018/102098 WO2019200799A1 (zh) | 2018-04-17 | 2018-08-24 | 短信验证码的推送方法、电子装置及可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810345029.1A CN108810831B (zh) | 2018-04-17 | 2018-04-17 | 短信验证码的推送方法、电子装置及可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108810831A CN108810831A (zh) | 2018-11-13 |
CN108810831B true CN108810831B (zh) | 2020-03-10 |
Family
ID=64094307
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810345029.1A Active CN108810831B (zh) | 2018-04-17 | 2018-04-17 | 短信验证码的推送方法、电子装置及可读存储介质 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN108810831B (zh) |
WO (1) | WO2019200799A1 (zh) |
Families Citing this family (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109862562A (zh) * | 2019-01-02 | 2019-06-07 | 武汉极意网络科技有限公司 | 一种动态验证码选取方法及系统 |
CN109618349B (zh) * | 2019-01-08 | 2022-08-12 | 中国联合网络通信集团有限公司 | 一种数据传输方法和服务器 |
CN110032864B (zh) * | 2019-03-08 | 2023-10-17 | 平安科技(深圳)有限公司 | 动态码生成方法、装置、计算机设备和存储介质 |
CN110113758A (zh) * | 2019-05-21 | 2019-08-09 | 深圳壹账通智能科技有限公司 | 一种基于手机号码发送验证消息的控制方法及相关装置 |
CN110457206A (zh) * | 2019-07-09 | 2019-11-15 | 深圳壹账通智能科技有限公司 | 短信平台测试方法、装置、计算机设备及存储介质 |
US12067587B2 (en) * | 2019-07-29 | 2024-08-20 | TapText llc | System and methods for using enhanced QR codes in a call to action |
CN111049822B (zh) * | 2019-12-10 | 2022-04-22 | 北京达佳互联信息技术有限公司 | 短信验证码发送方法、装置、短信服务器及存储介质 |
CN111417122B (zh) * | 2020-03-25 | 2024-03-01 | 杭州迪普科技股份有限公司 | 一种防范攻击方法及装置 |
CN111918224B (zh) * | 2020-07-28 | 2022-03-04 | 广州市百果园信息技术有限公司 | 短信验证方法、装置、设备及存储介质 |
CN112804399B (zh) * | 2021-01-06 | 2022-03-01 | 北京小米移动软件有限公司 | 验证码接收方法、装置及介质 |
CN115379402B (zh) * | 2022-08-09 | 2024-05-28 | 深圳中网讯通技术有限公司 | 一种上行短信推送的控制方法及装置 |
CN115412850B (zh) * | 2022-08-18 | 2023-07-28 | 南京鼎山信息科技有限公司 | 基于5g通信的短信消息管控服务系统及方法 |
CN117651277B (zh) * | 2024-01-30 | 2024-05-03 | 北京国舜科技股份有限公司 | 一种基于安全组件的短信炸弹防护方法和装置 |
CN118093734A (zh) * | 2024-03-01 | 2024-05-28 | 湖南微趣互动科技有限公司 | 一种大数据黑名单过滤方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104768139A (zh) * | 2015-02-28 | 2015-07-08 | 北京奇艺世纪科技有限公司 | 一种短信发送的方法及装置 |
CN106230597A (zh) * | 2016-07-28 | 2016-12-14 | 努比亚技术有限公司 | 短信验证码验证装置及方法 |
CN106851602A (zh) * | 2017-03-31 | 2017-06-13 | 武汉票据交易中心有限公司 | 一种交易系统短信验证方法及系统 |
CN106878967A (zh) * | 2017-03-10 | 2017-06-20 | 北京百悟科技有限公司 | 短信发送方法及装置 |
CN107241336A (zh) * | 2017-06-19 | 2017-10-10 | 广州市百果园信息技术有限公司 | 身份验证方法和装置 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9392456B2 (en) * | 2013-09-24 | 2016-07-12 | Telesign Corporation | Call center SMS verification system and method |
CN106850608A (zh) * | 2017-01-23 | 2017-06-13 | 山东浪潮商用系统有限公司 | 一种短信验证码发送次数频率控制方法 |
-
2018
- 2018-04-17 CN CN201810345029.1A patent/CN108810831B/zh active Active
- 2018-08-24 WO PCT/CN2018/102098 patent/WO2019200799A1/zh active Application Filing
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104768139A (zh) * | 2015-02-28 | 2015-07-08 | 北京奇艺世纪科技有限公司 | 一种短信发送的方法及装置 |
CN106230597A (zh) * | 2016-07-28 | 2016-12-14 | 努比亚技术有限公司 | 短信验证码验证装置及方法 |
CN106878967A (zh) * | 2017-03-10 | 2017-06-20 | 北京百悟科技有限公司 | 短信发送方法及装置 |
CN106851602A (zh) * | 2017-03-31 | 2017-06-13 | 武汉票据交易中心有限公司 | 一种交易系统短信验证方法及系统 |
CN107241336A (zh) * | 2017-06-19 | 2017-10-10 | 广州市百果园信息技术有限公司 | 身份验证方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
CN108810831A (zh) | 2018-11-13 |
WO2019200799A1 (zh) | 2019-10-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108810831B (zh) | 短信验证码的推送方法、电子装置及可读存储介质 | |
US9491182B2 (en) | Methods and systems for secure internet access and services | |
CN109492378B (zh) | 一种基于设备识别码的身份验证方法、服务器及介质 | |
US10447694B2 (en) | Identity verification method and device | |
CN105591743B (zh) | 通过用户终端的设备运行特征进行身份鉴权的方法及装置 | |
EP3178011B1 (en) | Method and system for facilitating terminal identifiers | |
EP2989543B1 (en) | Method and device for updating client | |
CN104980402B (zh) | 一种识别恶意操作的方法及装置 | |
CN106529952B (zh) | 数据转移中的验证实现方法及系统 | |
US9306940B2 (en) | Mitigating risk of account enumeration | |
US10176317B2 (en) | Method and apparatus for managing super user password on smart mobile terminal | |
US11240230B2 (en) | Automatic authentication processing method and system using dividing function | |
CN110209925B (zh) | 应用推送方法、装置、计算机设备和存储介质 | |
CN113259429A (zh) | 会话保持管控方法、装置、计算机设备及介质 | |
CN110505246B (zh) | 客户端网络通讯检测方法、装置及存储介质 | |
CN106507300A (zh) | 一种找回丢失终端的方法、装置及终端 | |
CN111953633A (zh) | 基于终端环境的访问控制方法及访问控制装置 | |
CN111259368A (zh) | 一种登录系统的方法及设备 | |
CN112804222B (zh) | 基于云部署的数据传输方法、装置、设备及存储介质 | |
WO2017050178A1 (zh) | 一种数据鉴权方法和装置 | |
CN111949363A (zh) | 业务访问的管理方法、计算机设备、存储介质及系统 | |
WO2020000753A1 (zh) | 一种设备安全监控方法和装置 | |
CN112948812B (zh) | 一种验证码的分配方法、计算设备及存储介质 | |
CN116016174A (zh) | 规则库升级方法、装置、电子设备和存储介质 | |
JP7131621B2 (ja) | 情報処理装置、制御方法、及びプログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |