Processing

Please wait...

Settings

Settings

Goto Application

1. CN105930713 - Method and terminal for generating identifying codes

Note: Text based on automatic Optical Character Recognition processes. Please use the PDF version for legal matters

[ ZH ]
一种验证码生成方法及终端


技术领域
本发明涉及电子技术领域,尤其涉及一种验证码的生成方法及终端。
背景技术
验证码是指全自动区分计算机和人类的图灵测试(Completely AutomatedPublic Turing test to tell Computers and Humans Apart,简称CAPTCHA),是一种区分用户是计算机还是人的公共全自动程序。验证码可以防止恶意破解密码、刷票或者防止某个黑客对某一个特定注册用户用特定程序暴力破解方式进行不断的登陆尝试,很多实网站现在都采用验证码这种方式,且现有的验证码方式主要包括有图像验证码、短信验证码、视频验证码、语音验证码等,但是现有的验证码没有针对用户的特征进行区分,导致有可能出现的一些用户不熟悉的验证码,从而无法识别验证码中的内容。
发明内容
本发明实施例提供一种验证码生成方法及终端,可根据用户的身份信息生成相对应的验证码。
第一方面,本发明实施例提供了一种验证码生成方法,该方法包括:获取用户的身份信息,所述身份信息包括识别特征数据;按照预设的分组规则以及所述身份信息中的识别特征数据,确定用户所在分组;根据用户所在分组,生成与所述用户相应的验证码。
另一方面,本发明实施例提供了一种终端,该终端包括存储单元、获取单元、分组单元以及输出单元,获取单元用于获取用户的身份信息;分组单元,用于按照预设的分组规则以及所述身份信息中的识别特征数据,确定用户所在分组;输出单元,用于根据用户所在分组,生成与所述用户相应的验证码。
本发明实施例所公开的一种验证码生成方法和终端通过获取的用户身份信息中的识别特征数据对用户进行分组,并针对用户的身份生成相对应的验证码,从而可以提高对验证码的识别概率,进而降低用户无法识别验证码情况的发生几率。
附图说明
为了更清楚地说明本发明实施例技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的一种验证码生成方法的示意流程图;
图2是本发明实施例提供的一种终端的示意性框图;
图3是图2中的一种分组单元的示意性框图;
图4是图3中的另一种分组单元的示意性框图;
图5是图3中的一种输出单元的示意性框图;
图6是本发明实施例提供的另一种终端示意性框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
应当理解,当在本说明书和所附权利要求书中使用时,术语“包括”和“包含”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或若干个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。还应当理解,在此本发明说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本发明。如在本发明说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。
请参看图1,是本发明实施方式提供的一种验证码生成方法的示意流程图,验证码包括但是不限制图像验证码、短信验证码、视频验证码、语音验证码等,其中图像验证码可以有效的防止光学字符识别(ORC)软件的识别,因此图像验证码应用最为广泛,本发明实施方式将以图像验证码为例进行说明。如图所示,该验证码生成方法包括步骤:
步骤S101,获取用户的身份信息,身份信息包括识别特征数据。
具体的,身份信息用于表示用户身份及特征的一组数据,其包括用于表示用户身份特征的识别特征数据。本实施方式中,身份信息包括但不限于用户的身份证号码、电话号码、年龄、当前位置、性别以及联系人信息。其中,识别特征数据包括但不限于身份信息中的籍贯、常用位置、年龄、当前位置、性别以及联系人常用位置等数据。需要说明的是,若获取的用户身份信息是身份证号码,对应的识别特征数据为籍贯以及年龄;若获取的用户身份信息是电话号码,对应的识别特征数据为常用位置,因为通过电话号码可以确认用户在哪个地方待过;若获取的用户身份信息是年龄,对应的识别特征数据就是年龄,根据年龄大小可划分若干个年龄阶段,例如将用户划分为小孩、青年人、年轻人、中年人以及老年人;若获取的用户身份信息是当前位置,对应的识别特征数据也是当前位置;若获取的用户身份信息是联系人信息,且该联系人信息是联系人号码时,则对应的识别特征数据是联系人常用位置。
需要说明的是,本步骤可以从用户在注册账号时填写的信息中获取用户的身份信息,还可以通过用户移动终端上的应用软件抓取用户的当前位置或者联系人信息。例如,利用移动终端上的定位软件抓取用户的当前位置或者设置允许访问移动终端上的通讯录来获取联系人信息。
应当理解,身份信息中包括至少一个识别特征数据,例如若获取的用户的身份信息是身份证号码,该身份信息包括了籍贯以及年龄两类识别特征数据。还应当理解,本步骤可获取若干类身份信息,例如通过用户在注册账号时所填写的信息获取了电话号码、性别、年龄等若干类身份信息,因此也获取到了若干类识别特征数据。
步骤S102,按照预设的分组规则以及身份信息中的识别特征数据,确定用户所在分组。
预设的分组规则是根据识别特征数据将用户划分为若干个组。一些实施例中,预设的分组规则可以为:根据识别特征数据将用户进行一级分组,即根据识别特征数据将用户划分为若干组。例如若识别特征数据为籍贯,将用户划分为籍贯组中并将用户划分为籍贯为各个地区;若识别特征数据为常用位置,将用户划分为常用位置组中并将用户划分为常用位置为各个地区;若识别特征为年龄,将用户划分为年龄组中并将用户划分为不同年龄阶段,例如老人、中年人、年轻人、青年人、小孩;若识别特征数据是当前位置,将用户划分为当前位置组中并可将用户划分为当前位置为各个地区;若识别特征数据是性别,将用户划分为性别组中并将用户划分为男性和女性;若识别特征数据是联系人常用位置,将用户划分为联系人常用位置组中并将用户划分为联系人常用位置为各个地区。另一些实施例中,预设的分组规则还可以为根据识别特征数据对用户进行多级分组,每组可以对应多类识别特征数据。例如,若识别特征数据是籍贯和年龄,则分为籍贯为各个地方的组别以及在籍贯组别下对应划分为不同年龄段的组别,若籍贯是广东,年龄是60岁的用户,则被划分老年人一组,并进一步被划分为老人年组中广东人一组。
应当理解,当根据用户的身份信息获取到识别特征数据后,可根据预设的分组规则确定用户所在分组。
需要说明的是,由于获取了至少一类识别特征数据,因此确定用户所在分组时,若分组规则是根据识别特征数据将用户进行一级分组,可将识别特征数据中任意一类识别特征数据按照预设的分组规则确定用户所在分组;还可以通过预设规律将识别特征数据中的一类识别特征数据按照预设的分组规则确定用户所在分组,该过程如下所示:
判断获取的用户身份信息中包含一类识别特征数据还是若干类识别特征数据;
若包含一类识别特征数据,则根据预设的分组规则以及该包含的一类识别特征数据确定用户所在分组;若包含若干类识别特征数据,根据预设的识别特征数据的优先级将所包含的若干类识别特征数据中优先级最高的识别特征数据按照预设分组规则确定用户所在分组。
还需要说明的是,由于获取了至少一类识别特征数据,因此确定用户所在分组时,若分组规则是根据识别特征数据对用户进行多级分组,该过程如下所示:
判断身份信息中包含一类识别特征数据还是若干类识别特征数据;
若包含一类识别特征数据,则根据预设的分组规则以及该类识别特征数据确定用户所在分组;若包含若干类识别特征数据,根据预设的识别特征数据的优先级顺序对该身份信息所对应的用户进行多级分组来确定用户所在分组。具体的,分组的级别数与该身份信息包含的识别特征数据的类别数相同,也可以不同。例如,若获取的识别特征数据是籍贯广东、年龄35以及性别男,且若识别特征数据的优先级从高到低一次是年龄、性别以及籍贯,则可将用户确定为在中年人组的男性组中的广东人组,即对应三个识别特征数据对用户进行了三级分组;还可以根据识别特征数据的优先级顺序选用年龄和性别两类识别特征数据,将用户确定为中年人组中的男性一组,即对应两个识别特征数据对用户进行了二级分组。
还需要说明的是,本实施方式中优选识别特征数据的优先级中年龄优先级最高,其次是常用位置、性别、当前位置、籍贯、以及联系人常用位置;其他实施方式中,识别特征数据的优先级别可设定为其他次序,例如可根据对不同组的用户的验证码的识别成功率调查结果而修改。
步骤S103,根据用户所在分组,生成与用户相对应的验证码。应当理解,本实施方式优选每组用户对应至少一个验证码,从用户所在分组对应的验证码中输出部分或者全部验证码给用户;还应当理解,其他实施方式中可预存有若干图片,再根据用户所在组组装生成相应的验证码给用户。
具体的,若预先设置了每组用户对应的验证码,当步骤S102中确定用户所在分组后,根据用户所在分组从相对应的验证码库中输出匹配的验证码给用户。例如,设置的各年龄段的用户对应的验证码时,考虑到老年人对新生态的事物不是很熟悉,老年人组的图像验证码可以是老年人较熟悉的明星图像、电影图像、轰动事件图像等或者常见的图像,如常见动物以及常见植物;年轻人组的图像验证码可以是一些新生态的事物的图像。设置各性别组用户对应的验证码时,针对女性组,可以设置化妆品、包包LOGO图像等;针对男性组,可以设置电子产品、汽车LOGO图像等。应当理解,验证码不限于图像验证码、短信验证码、视频验证码、语音验证码等方式,每组用户对应的验证码不限制于为一类方式的验证码。
需要说明的是,一组用户对应至少一个验证码。若确定用户所在分组后,可能为用户匹配一个验证码输出给用户,也可能匹配若干个验证码输出给用户。若一组用户对应的预存的验证码的数量没有超过预设数量,输出相对应的所有验证码给用户;若一组用户对应的预存的验证码的数量超过了预设数量,本实施方式优选根据预设的验证码的优先级从高到低的顺序输出部分验证码给用户,其中预设数量可以是一个也可以是若干个。该具体实现过程如下所示:
判断预存的与用户所在组对应的预存的验证码的数量是否超过了预设数量;
若超过了预设数量,根据预设的验证码的优先级顺序从用户所在组对应的验证码中输出部分验证码给用户;若未超过预设数量,输出与用户所在组对应的所有验证码给用户。
其他实施方式中,若一组用户对应的验证码的数量超过了预设数量,随机从中输出部分验证码给用户。其中,验证码包括用于表示特性的特征,每组用户对应的验证码的优先级根据每组用户对应的识别特征数据以及验证码的特征而设置的。应当理解,每组用户对应的验证码的特征与该组用户对应的识别特征数据同时相对应。
具体的,验证码的特征包括但是不限制于时间、知名度、普及率等,例如,若识别特征数据是女性,对应女性一组的验证码中包括了化妆品、包包LOGO图像,则根据化妆品和包包品牌的知名度高低设置验证码的优先级,知名度高的优先级高;若识别特征数据是老人,对应老人一组的验证码中包括了老人所在年代的明星图像、电影图像以及常见动物以及常见植物,则根据明星图像、电影图像的时间、知名度高低以及动物和植物的普及率高低设置验证码的优先级,明星和电影知名高的、动物和植物的普及率高的验证码的优先级高;针对电子产品则根据产品面世时间设置验证码的优先级,面世时间越短的验证码的优先级高。
还需要说明的是,若一组用户对应的识别特征数据为若干类时,此时该组用户对应的验证码的优先级还与包含的所有识别特征数据相关,例如,若一组用户对应了籍贯以及年龄两类识别特征数据,验证码的优先级中与年龄和籍贯相关的验证码的优先级越高,例如从用户身份证号码知用户是老人一组,籍贯广东,若预存的验证码库中有广东明星的图像,则该广东明星的验证码的优先级高。
上述验证码生成方法通过获取的用户的身份信息中的识别特征数据对用户进行分组,再产生与用户所在组相对应的验证码,所产生的验证码是与用户相关,因此便于用户识别,可以提高对验证码的识别概率,进而降低用户无法识别验证码情况的发生几率。
请参看图2,本发明实施例提供的一种终端,该终端10包括存储单元100、获取单元200、分组单元300以及输出单元400。
存储单元100用于存储验证码和/或用户的身份信息。具体的,存储单元100存储了用户在注册账号时填写的信息以及根据用户分组设置的图像验证码。
获取单元200用于获取用户的身份信息,身份信息包括识别特征数据。具体的,身份信息是与用户相关的特定信息,这些特定信息能够使其区别于其他部分用户,身份信息中的识别特征数据就是区别其他用户的区别特征,因此身份信息是用于识别用户身份的。本实施方式中,身份信息包括但是不限制于用户的身份证号码、电话号码、年龄、当前位置、性别以及联系人信息,识别特征数据包括但是不限制于籍贯、常用位置、年龄、当前位置、性别以及联系人常用位置。
分组单元300用于按照预设的分组规则以及身份信息中的识别特征数据对确定所述用户所在分组。预设的分组规则是根据识别特征数据将用户划分为若干个组,具体的,根据识别特征数据将用户进行一级分组,即根据识别特征数据将用户划分为若干组或者根据识别特征数据对用户进行多级分组,每组可以对应多类识别特征数据。
输出单元400用于根据用户所在分组,生成与所述用户相应的验证码。应当理解,本实施方式优选每组用户对应至少一个验证码,则从用户所在组对应的验证码中输出部分或者全部验证码给用户;还应当理解,其他实施方式可预存有若干图片,再根据用户所在组组装生成相对应的验证码给用户。具体的,若预先设置了每组用户对应的验证码,当分组单元300确定用户所在分组后,根据用户所在组从对应的验证码库中输出匹配的验证码给用户。
请参看图3,一种实施例中若分组规则是根据识别特征数据将用户进行一级分组,即根据识别特征数据将用户划分为若干组。分组单元300包括第一判断单元301、以及第一处理单元302。
第一判断单元301用于判断身份信息中包含一类识别特征数据还是若干类识别特征数据。
第一处理单元302用于若第一判断单元301判断出获取的用户身份信息中包含一类识别特征数据,根据预设的分组规则以及该包含的一类识别特征数据确定用户所在分组;以及还用于若第一判断单元301判断出获取的用户身份信息中包含若干类识别特征数据,根据预设的识别特征数据的优先级将所包含的若干类识别特征数据中优先级最高的识别特征数据按照预设分组规则来确定用户所在分组。
请参看图4,另一实施例中若分组规则为根据识别特征数据对用户进行多级分组,每组可以对应多类识别特征数据。分组单元300包括第二判断单元303、以及第二处理单元304。
第二判断单元303用于判断身份信息中包含一类识别特征数据还是若干类识别特征数据。
第二处理单元304用于若第二判断单元303判断出身份信息指包含一类识别特征数据时,根据预设的分组规则以及该包含的一类识别特征数据来确定用户所在分组;若第二判断单元303判断出身份信息中包含若干类识别特征数据,根据预设的识别特征数据的优先级顺序对该身份信息所对应的用户进行多级分组来确定用户所在分组。
进一步地,其他实施例中若判断出获取的用户身份信息中包含若干种识别特征数据后,分组单元300将识别特征数据中的一类识别特征数据按照预设的分组规则来确定用户所在分组。
请参看图5,本实施方式中输出单元400包括第三判断单元401以及第三处理单元402。
第三判断单元401用于判断与用户所在组对应的预存的验证码的数量是否超过了预设数量,预设数量可是1个或者若干个。
第三处理单元402用于若第三判断单元401判断出与用户所在分组相对应的预存的验证码的数量未超过预设数量,输出与用户所在分组相对应的所有验证码给用户;以及还用于若第三判断单元401判断出与用户所在分组相对应的预存的验证码的数量超过了预设数量,根据预设的验证码的优先级从高到低的顺序输出部分验证码给用户。
其他实施例中,若第三判断单元401判断出与用户所在分组相对应的预存的验证码的数量超过了预设数量,第三处理单元402随机从中输出部分验证码给用户。
需要说明的是,每组用户相对应的验证码的优先级根据识别特征数据以及验证码的特征而设置的。验证码的特征包括但是不限制于时间、知名度、普及率等,例如,若识别特征数据是女性,对应女性组的验证码中包括了化妆品、包包LOGO图像,可根据化妆品和包包品牌的知名度高低设置验证码的优先级,知名度高的优先级高。
还需要说明的是,若一组用户对应的识别特征数据为若干类时,此时该组用户对应的验证码的优先级还与包含的所有识别特征数据相关,例如,若一组用户对应了籍贯以及年龄两类识别特征数据,与年龄和籍贯相关的验证码的优先级越高,例如从用户身份证号码知用户是老人一组,籍贯广东,若预存的验证码库中有广东明星的图像,则该广东明星的验证码的优先级高。
参见图6,是本发明实施方式提供的另一种终端的示意框图。如图所示的本实施例中的终端1可以包括一个或者若干个处理器201、一个或者若干个输入装置202、一个或者若干个输出装置203以及存储器204。上述处理器201、输入装置202、输出装置203以及存储器204通过总线连接。
输入装置202用于接收用户注册账号时操作输入的信息。具体实现中,本发明实施例的输入装置202可包括键盘、鼠标、光电输入装置、声音输入装置、触摸式输入装置、扫描仪等。
输出装置203用于对外输出验证码给用户。具体实现中,本发明实施例的输出装置203可包括显示器、扬声器、打印机等。
存储器204用于存储带有各种功能的程序数据以及存储用户在注册账号时填写的信息以及根据用户分组预设的验证码,具体实现中,本发明实施例的存储器204可以是系统存储器,比如,挥发性的(诸如RAM),非易失性的(诸如ROM,闪存等),或者两者的结合。具体实现中,本发明实施例的存储器204还可以是系统之外的外部存储器,比如,磁盘、光盘、磁带等。
处理器201用于调用存储器204中存储的程序数据即执行存储器204存储的指令,并执行如下操作:
获取用户的身份信息,该身份信息包括识别特征数据,以及按照预设的分组规则以及身份信息中的识别特征数据,确定用户所在分组,每组用户对应至少一个验证码;并根据用户所在分组,生成与用户相应的验证码。
具体的,身份信息是与用户相关的特定信息,这些特定信息能够使其区别于其他部分用户,身份信息中的识别特征数据就是区别其他用户的区别特征,因此身份信息是用于识别用户身份的。本实施方式中,身份信息包括但是不限制于用户的身份证号码、电话号码、年龄、当前位置、性别以及联系人信息,识别特征数据包括但是不限制于籍贯、常用位置、年龄、当前位置、性别以及联系人常用位置。
预设的分组规则是根据识别特征数据将用户划分为若干个组,具体的,预设的分组规则可以为根据识别特征数据将用户进行一级分组,即根据识别特征数据将用户划分为若干组;预设的分组规则还可以为根据识别特征数据对用户进行多级分组,每组可以对应多类识别特征数据。处理器201待确定用户所在分组后,根据用户所在组从对应的验证码库中输出相匹配的验证码给用户。
若根据识别特征数据将用户进行一级分组,处理器201在分组过程执行如下操作:
判断身份信息中包含一类识别特征数据还是若干类识别特征数据;若获取的用户身份信息中包含一类识别特征数据,根据预设的分组规则以及该包含的一类识别特征数据确定用户所在分组;若获取的用户身份信息中包含若干类识别特征数据,根据预设的识别特征数据的优先级将所包含的若干类识别特征数据中优先级最高的识别特征数据按照预设分组规则来确定用户所在分组。其他实施方式中,若获取的用户身份信息中包含一类识别特征数据,根据预设的分组规则以及该包含的一类识别特征数据确定用户所在分组;若获取的用户身份信息中包含若干类识别特征数据,则将识别特征数据中任意一类识别特征数据按照预设的分组规则确定用户所在分组。
若分组规则是根据识别特征数据对用户进行多级分组,处理器201在分组过程执行如下操作:
判断身份信息中包含一类识别特征数据还是若干类识别特征数据;若包含一类识别特征数据,则根据预设的分组规则以及该类识别特征数据来确定用户所在分组;若包含若干类识别特征数据,根根据预设的识别特征数据的优先级顺序对该身份信息所对应的用户进行多级分组来确定用户所在分组。具体的,分组的级别数与该身份信息包含的识别特征数据的类别数相同,也可以不同。
处理器201按照从预存的验证码中输出与用户所在组相匹配的验证码给用户的过程具体包括执行如下操作:
判断与用户所在组对应的预存的验证码的数量是否超过了预设数量,预设数量可是1个或者若干个;若与用户所在组对应的预存的验证码的数量未超过了预设数量,输出与用户所在分组相对应的所有验证码给用户;若与用户所在分组相对应的预存的验证码的数量超过了预设数量,根据预设的验证码的优先级从高到低顺序从用户所在分组相对应的验证码中输出部分验证码给用户。其他实施方式中,若与用户所在分组相对应的预存的验证码的数量未超过了预设数量,处理器201还可以输出与用户所在分组相对应的所有验证码给用户;若与用户所在分组相对应的预存的验证码的数量超过了预设数量,则随机从中输出部分验证码给用户。其中,验证码包括用于表示特性的特征,每组用户对应的验证码的优先级根据每组用户对应的识别特征数据以及验证码的特征而设置的。
应当理解,在本发明实施例中,所称处理器201可以是中央第一处理单元(Central Processing Unit,CPU),该处理器201还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application SpecificIntegrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
需要说明的是,本发明实施例方法中的步骤可以根据实际需要进行顺序调整、合并和删减。
本发明实施例终端中的单元可以根据实际需要进行合并、划分和删减。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的终端和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。在本申请所提供的几个实施例中,应该理解到,所揭露的终端和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如若干个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口、装置或单元的间接耦合或通信连接,也可以是电的,机械的或其它的形式连接。
另外,在本发明各个实施例中的各功能单元可以集成在一个第一处理单元中,也可以是各个单元单独物理存在,也可以是两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分,或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。