本发明专利技术实施例涉及校验码计算技术领域,尤其涉及一种校验码生成方法及装置。所述校验码生成方法包括:设立源校验码候选值数组;根据设定时间产生至少两个第一随机数,对所述源校验码候选值数组中所述至少两个第一随机数对应位置上的字符进行位置交换,得到目标校验码候选值数组;接收分发校验码请求,产生第二随机数,从所述目标校验码候选值数组中所述第二随机数对应位置的字符开始截取所述分发校验码请求所请求位数的校验码。本发明专利技术实施例可以确保校验码的随机性,并可以大大减少校验码分发系统的计算量,提高校验码分发系统的工作效率。
【技术实现步骤摘要】
本专利技术涉及校验码计算
,尤其涉及一种校验码生成方法及装置。
技术介绍
现在的互联网系统通常需要使用校验码。最常用的是手机校验码。例如:使用银行卡在网上支付时,会需要输入6位数字的手机校验码;用户注册某一客户端时,要验证手机,需要输入验证是否是本人手机的校验码;通过输入校验码可以大大提高互联网系统的网络安全性。目前普遍采用的校验码生成方式为:比如在一个大型的校验码分发系统中,要生成一个六位的校验码,则设立一个校验码候选值数组,每次产生一个随机数,作为校验码候选值的下标。要产生六位的校验码就需要计算6个随机数,作为校验码候选值的下标,然后再将6个随机数进行拼接,最终生成一个六位校验码。而如果每分钟需要生成1000个6位校验码,校验码分发系统就需要做6000次的随机数计算,每小时就是360000次的计算。因此,现有的校验码生成方式存在的缺点在于:校验码分发系统计算量太大,且计算效率不高。
技术实现思路
本专利技术提供了一种校验码生成方法及装置,旨在解决现有的校验码生成方式存在的校验码分发系统计算量大,且计算效率不高的技术问题。为了解决以上提出的问题,本专利技术采用的技术方案为:一种校验码生成方法,包括:设立源校验码候选值数组;根据设定时间产生至少两个第一随机数,对所述源校验码候选值数组中所述至少两个第一随机数对应位置上的字符进行位置交换,得到目标校验码候选值数组;接收分发校验码请求,产生第二随机数,从所述目标校验码候选值数组中所述第二随机数对应位置的字符开始截取所述分发校验码请求所请求位数的校验码。本专利技术实施例采取的技术方案还包括:所述对源校验码候选值数组中所述至少两个第一随机数对应位置上的字符进行位置交换的交换方式为:根据设定时间产生至少两个第一随机数,每一个第一随机数代表源校验码候选值数组中相应字符的排列位置,根据所述至少两个第一随机数选择源校验码候选值数组中对应位置上的至少两个字符,并将选择的至少两个字符进行相邻位置的两两位置交换,得到目标校验码候选值数组。本专利技术实施例采取的技术方案还包括:所述从目标校验码候选值数组中所述第二随机数对应位置上的字符开始截取与所述分发校验码请求对应位数的校验码具体为:判断所述分发校验码请求的校验码位数,产生第二随机数,从所述目标校验码候选值数组中第二随机数对应位置的字符开始顺序截取与所述分发校验码请求的校验码位数相对应的一段字符,作为初始校验码;所述校验码位数为至少两位;所述第二随机数小于所述目标校验码候选值数组中的字符总数与所述校验码位数的差。本专利技术实施例采取的技术方案还包括:所述截取分发校验码请求对应位数的校验码后还包括:产生至少两个第三随机数,将所述初始校验码中所述至少两个第三随机数对应位置上的字符进行位置交换,得到最终的校验码,并向客户端分发最终校验码;所述至少两个第三随机数分别小于或等于所述校验码位数。本专利技术实施例采取的技术方案还包括:所述产生的第一随机数和第三随机数还包括:当所述至少两个第一随机数或至少两个第三随机数的单数位的随机数与相邻的双数位随机数一样时,为所述至少两个第一随机数或至少两个第三随机数的双数位随机数的值加1,或为所述至少两个第一随机数或至少两个第三随机数的单数位随机数的值减1。本专利技术实施例采取的另一技术方案为:一种校验码生成装置,包括数组组成模块、第一顺序交换模块和校验码截取模块;所述数组组成模块用于设立源校验码候选值数组;所述第一顺序交换模块用于根据设定时间产生至少两个第一随机数,对所述源校验码候选值数组中所述至少两个第一随机数对应位置上的字符进行位置交换,得到目标校验码候选值数组;所述校验码截取模块用于接收分发校验码请求,产生第二随机数,从所述目标校验码候选值数组中所述第二随机数对应位置的字符开始截取所述分发校验码请求所请求位数的校验码。本专利技术实施例采取的技术方案还包括:所述第一顺序交换模块对源校验码候选值数组中所述至少两个第一随机数对应位置上的字符进行位置交换的交换方式为:产生至少两个第一随机数,每一个第一随机数代表源校验码候选值数组中相应字符的排列位置,根据所述至少两个第一随机数选择源校验码候选值数组中对应位置上的至少两个字符,并将选择的至少两个字符进行相邻位置的两两位置交换,得到目标校验码候选值数组。本专利技术实施例采取的技术方案还包括:所述校验码截取模块从目标校验码候选值数组中所述第二随机数对应位置上的字符开始截取与所述分发校验码请求对应位数的校验码具体为:判断所述分发校验码请求的校验码位数,产生第二随机数,从所述目标校验码候选值数组中第二随机数对应位置的字符开始顺序截取与所述分
发校验码请求的校验码位数相对应的一段字符,作为初始校验码;所述校验码位数为至少两位;所述第二随机数小于所述目标校验码候选值数组中的字符总数与所述校验码位数的差。本专利技术实施例采取的技术方案还包括:还包括第二顺序交换模块和校验码分发模块;所述第二顺序交换模块用于在校验码截取模块截取分发校验码请求对应位数的校验后,产生至少两个第三随机数,将所述初始校验码中所述至少两个第三随机数对应位置上的字符进行位置交换,得到最终的校验码,并通过校验码分发模块向客户端分发最终校验码;所述至少两个第三随机数分别小于或等于所述校验码位数。本专利技术实施例采取的技术方案还包括:所述第一顺序交换模块及第二顺序交换模块产生的第一随机数和第三随机数还包括:当所述至少两个第一随机数或至少两个第三随机数的单数位的随机数与相邻的双数位随机数一样时,为所述至少两个第一随机数或至少两个第三随机数的双数位随机数的值加1,或为所述至少两个第一随机数或至少两个第三随机数的单数位随机数的值减1。与现有技术相比,本专利技术实施例的有益效果在于:本专利技术实施例的校验码生成方法及装置通过定时生成一定数量的第一随机数,根据第一随机数对源校验码候选值数组中的字符顺序进行调整,使得源校验码候选值数组中每个时间段内的字符排列顺序都不一样;在接收到分发校验码请求后,产生第二随机数,根据第二随机数截取初始校验码,并在产生初始校验码后产生第三随机数,通过第三随机数对初始校验码的顺序进行调整,得到最终校验码,从而确保校验码的随机性。相对于现有技术,本专利技术实施例可以大大减少校验码分发系统的计算量,提高校验码分发系统的工作效率。附图说明图1为本专利技术实施例的校验码生成方法的流程图;图2是本专利技术实施例的源校验码候选值数组的初始排列顺序图;图3为本专利技术实施例的校验码生成装置的结构示意图。具体实施方式为了便于理解本专利技术,下面将参照相关附图对本专利技术进行更全面的描述。附图中给出了本专利技术的较佳实施例。但是,本专利技术可以以许多不同的形式来实现,并不限于本文所描述的实施例。相反地,提供这些实施例的目的是使对本专利技术的公开内容的理解更加透彻全面。除非另有定义,本文所使用的所有的技术和科学术语与属于本专利技术的
的技术人员通常理解的含义相同。本文中在本专利技术的说明书中所使用的术语只是为了描述具体的实施例的目的,不是旨在于限制本专利技术。请参阅图1,是本专利技术实施例的校验码生成方法的流程图。本专利技术实施例的校验码生成方法包括以下步骤:步骤100:通过一定数量的数字或字母等字符设立源校验码候选值数组;在步骤100中,为了便于说明,本专利技术实施例以0-9、a-z、本文档来自技高网...
【技术保护点】
一种校验码生成方法,其特征在于,包括:设立源校验码候选值数组;根据设定时间产生至少两个第一随机数,对所述源校验码候选值数组中所述至少两个第一随机数对应位置上的字符进行位置交换,得到目标校验码候选值数组;接收分发校验码请求,产生第二随机数,从所述目标校验码候选值数组中所述第二随机数对应位置的字符开始截取所述分发校验码请求所请求位数的校验码。
【技术特征摘要】
1.一种校验码生成方法,其特征在于,包括:设立源校验码候选值数组;根据设定时间产生至少两个第一随机数,对所述源校验码候选值数组中所述至少两个第一随机数对应位置上的字符进行位置交换,得到目标校验码候选值数组;接收分发校验码请求,产生第二随机数,从所述目标校验码候选值数组中所述第二随机数对应位置的字符开始截取所述分发校验码请求所请求位数的校验码。2.根据权利要求1所述的校验码生成方法,其特征在于:所述对源校验码候选值数组中所述至少两个第一随机数对应位置上的字符进行位置交换的交换方式为:根据设定时间产生至少两个第一随机数,每一个第一随机数代表源校验码候选值数组中相应字符的排列位置,根据所述至少两个第一随机数选择源校验码候选值数组中对应位置上的至少两个字符,并将选择的至少两个字符进行相邻位置的两两位置交换,得到目标校验码候选值数组。3.根据权利要求2所述的校验码生成方法,其特征在于,所述从目标校验码候选值数组中所述第二随机数对应位置上的字符开始截取与所述分发校验码请求对应位数的校验码具体为:判断所述分发校验码请求对应的校验码位数,产生第二随机数,从所述目标校验码候选值数组中第二随机数对应位置的字符开始顺序截取与所述分发校验码请求的校验码位数相对应的一段字符,作为初始校验码;所述校验码位数为至少两位;所述第二随机数小于所述目标校验码候选值数组中的字符总数与所述校验码位数的差。4.根据权利要求3所述的校验码生成方法,其特征在于,所述截取分发校验码请求对应位数的校验码后还包括:产生至少两个第三随机数,将所述初始校验码中所述至少两个第三随机数对应位置上的字符进行位置交换,
\t得到最终的校验码,并向客户端分发最终校验码;所述至少两个第三随机数分别小于或等于所述校验码位数。5.根据权利要求4所述的校验码生成方法,其特征在于,所述产生的第一随机数和第三随机数还包括:当所述至少两个第一随机数或至少两个第三随机数的单数位的随机数与相邻的双数位随机数一样时,为所述至少两个第一随机数或至少两个第三随机数的双数位随机数的值加1,或为所述至少两个第一随机数或至少两个第三随机数的单数位随机数的值减1。6.一种校验码生成装置,其特征在于,包括数组组成模块、第一顺序交换模块和校验码截取模块;所述数组组成模块用于设立源校验...
【专利技术属性】
技术研发人员:谢晓静,
申请(专利权)人:乐视控股北京有限公司,乐视网信息技术北京股份有限公司,
类型:发明
国别省市:北京;11
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。