一种生成便于记忆短信验证码的算法制造技术

技术编号:38858594 阅读:17 留言:0更新日期:2023-09-17 10:02
本发明专利技术公开了一种生成便于记忆短信验证码的算法,是通过服务器在收到用户请求验证码时,由后台生成新的验证码发送给用户,算法的具体生成方法包括以下步骤:S1、随机生成1000组6位全数字的数据;S2、给步骤S1中生成的每个数据单独排序;S3、然后再给步骤S2排序后的数据单独算分,算分规则是1

【技术实现步骤摘要】
一种生成便于记忆短信验证码的算法


[0001]本专利技术涉及通信验证
,具体为一种生成便于记忆短信验证码的算法。

技术介绍

[0002]短信验证是最便捷的验证方式,人们只需要在手机上操作,就可以便捷快速地完成开通业务、支付款项等活动。手机短信验证码已被广泛应用于各类移动应用、网站服务。用户可以通过短信验证码进行修改密码、修改绑定邮箱等敏感操作。同时,短信验证码也能让用户不输账号密码直接登陆。大多数APP,在掌握手机号码的前提下,都可以无密码登陆。手机只要收到系统发送的验证码,就可以快速登陆。对手机用户来说,一旦短信验证码内容被外泄,不法分子就可以利用获取的用户手机号码和验证码登录个人账户,用户会面临个人信息泄露甚至财产损失的风险,以速达移动的短信接口为例,一般支持http和webservice调用。程序员在需要发送短信的地方添加接口地址和相关参数,如接收端手机号码、接收的内容以及其他接口参数,调用完就会返回xml数据,表示成功提交或者失败。关于回复短信,会绑定到一个接收回复内容的地址,有短信回复过来就推送到对应地址。
[0003]手机短信验证码在生活中非常常见,比如用户使用手机号登录账户验证身份的时候,银行卡发生转账的时候。用户在APP中输入手机号,然后点击接收验证码,服务器收到这个请求后,生成一串6位由数字组成的验证码发送给用户手机上,用户在根据这个验证码来请求登录完成身份验证。
[0004]目前生成6位数字验证码都是随机的,比如说是:153246,826413等,这样的验证码因为是全随机的,没有任何顺序,会出现不容易记住的问题,每次输入验证码的时候,都需要对照输入,最后再对比一遍确认无误,这样使用极其不方便。

技术实现思路

[0005](一)解决的技术问题
[0006]针对现有技术的不足,本专利技术提供了一种生成便于记忆短信验证码的算法,通过生成人们便于记忆手机短信验证码的算法,通过此算法生成的验证码让用户过目不忘,非常便于流通使用,比如用户使用银行APP转账的时候,收到的短信验证码是:666632,用户看过一遍就记住了,不需要在对照输入,使用非常方便。
[0007](二)技术方案
[0008]为实现以上目的,本专利技术通过以下技术方案予以实现:一种生成便于记忆短信验证码的算法,是通过服务器在收到用户请求验证码时,由后台生成新的验证码发送给用户,算法的具体生成方法包括以下步骤:
[0009]S1、随机生成1000组6位全数字的数据;
[0010]S2、给步骤S1中生成的每个数据单独排序;
[0011]S3、然后再给步骤S2排序后的数据单独算分,算分规则是1

6位都参与计算分数,出现对子算5分,出现2对算10分,出现3位相同数字算20分,出现4位相同数字算40分,出现5
位相同数字算80分,出现6位相同数字算160分,数据不重复算分;
[0012]S4、经过步骤S3算完对子后,再算是否有顺子,3位顺子算5分,4位顺子算10分,5位顺子算20分,6位顺子算40分;
[0013]S5、通过步骤S3和S4的算法计算出来分数,取最高的一组数据,最后产生的数据可能是001277,666777,533455等类似数据,像之前的153246类似的数据就不会出现。
[0014]优选的,所述步骤S2中排序规则是第二位到第六位从小到大排序,比如说生成的数据是:291475,由小到大排序后,新的数据为214579。
[0015]优选的,所述步骤S2中排序规则是第一位到第五位从小到大排序,比如说生成的数据是:291475,由小到大排序后,新的数据为124795。
[0016]优选的,所述步骤S3中当6位验证码中出现2对时,仅按2对的10分算,不算为1对。
[0017]优选的,所述步骤S4中顺子与对子不会重复,所以算分会叠加。
[0018]优选的,所述步骤S2中只计算第二位到第六位或者第一位到第五位是为了防止过多出现6个一样的数字。
[0019]优选的,所述步骤S5测试中发现五六顺子号和6个豹子的得分高,取最高分的话非常容易出现,所以取分数在40

60分之间的一组数据。
[0020](三)有益效果
[0021]本专利技术提供了一种生成便于记忆短信验证码的算法。与现有技术相比具备以下有益效果:该生成便于记忆短信验证码的算法,是通过服务器在收到用户请求验证码时,由后台生成新的验证码发送给用户,算法的具体生成方法包括以下步骤:S1、随机生成1000组6位全数字的数据;S2、给步骤S1中生成的每个数据单独排序;S3、然后再给步骤S2排序后的数据单独算分,算分规则是1

6位都参与计算分数,出现对子算5分,出现2对算10分,出现3位相同数字算20分,出现4位相同数字算40分,出现5位相同数字算80分,出现6位相同数字算160分,数据不重复算分;S4、经过步骤S3算完对子后,再算是否有顺子,3位顺子算5分,4位顺子算10分,5位顺子算20分,6位顺子算40分;S5、通过步骤S3和S4的算法计算出来分数,取最高的一组数据,通过采用一套生成人们便于记忆手机短信验证码的算法,通过此算法生成的验证码让用户过目不忘,非常便于流通使用,比如用户使用银行APP转账的时候,收到的短信验证码是:666632,用户看过一遍就记住了,不需要在对照输入,使用非常方便,通过利用算分机制筛选出符合人们容易记住的数据,该算分机制符合记忆标准,比如说顺子(123456)对子(223355),并且是全随机生成的数据,不会大量出现重复的数据。
附图说明
[0022]图1为本专利技术的流程图。
具体实施方式
[0023]下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。
[0024]请参阅图1,本专利技术实施例提供三种技术方案:一种生成便于记忆短信验证码的算
法,具体包括提下实施例:
[0025]实施例1
[0026]一种生成便于记忆短信验证码的算法,是通过服务器在收到用户请求验证码时,由后台生成新的验证码发送给用户,算法的具体生成方法包括以下步骤:
[0027]S1、随机生成1000组6位全数字的数据;
[0028]S2、给步骤S1中生成的每个数据单独排序,排序规则是第二位到第六位从小到大排序,比如说生成的数据是:291475,由小到大排序后,新的数据为214579,只计算第二位到第六位是为了防止过多出现6个一样的数字;
[0029]S3、然后再给步骤S2排序后的数据单独算分,算分规则是1

6位都参与计算分数,出现对子算5分,出现2对算10分,出现3位相同数字算20分,出现4位相同数字算40分,出现5位本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种生成便于记忆短信验证码的算法,其特征在于:是通过服务器在收到用户请求验证码时,由后台生成新的验证码发送给用户,算法的具体生成方法包括以下步骤:S1、随机生成1000组6位全数字的数据;S2、给步骤S1中生成的每个数据单独排序;S3、然后再给步骤S2排序后的数据单独算分,算分规则是1

6位都参与计算分数,出现对子算5分,出现2对算10分,出现3位相同数字算20分,出现4位相同数字算40分,出现5位相同数字算80分,出现6位相同数字算160分,数据不重复算分;S4、经过步骤S3算完对子后,再算是否有顺子,3位顺子算5分,4位顺子算10分,5位顺子算20分,6位顺子算40分;S5、通过步骤S3和S4的算法计算出来分数,取最高的一组数据。2.根据权利要求1所述的一种生成便于记忆短信验证码的算法,其特征在于:所述步骤S2中排序规则是第二位到第六位从...

【专利技术属性】
技术研发人员:苏醒程学洋王洪林张海柱张明
申请(专利权)人:南京济拓信息系统有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1