一种二维码的生成方法及其生成系统与流程

文档序号:17009063发布日期:2019-03-02 02:10阅读:799来源:国知局
一种二维码的生成方法及其生成系统与流程

本发明属于二维码生成技术领域,具体地说,是一种二维码的生成方法及其生成系统。



背景技术:

当今生活中,二维码的使用愈加普及,很多旅游景区的门票也开始使用二维码来识别游客身份,由于二维码的图案排列变化方式多,因此可实现一个游客对应一个二维码。

但现有技术中二维码的生成方法难以适用景区的服务器,一方面景区的服务器容量有限,复杂的二维码系统成本高、存储空间需求大,且数量庞大的二维码很大部分没有足够多的游客应用造成资源浪费;另一方面,简单的二维码系统由于算法简单,往往使二维码出现重复,识别游客的身份时造成不必要的误会。

同时,现有的二维码系统多是一次加密计算生成二维码,极容易被黑客破解,从而导致二维码算法泄露,对景区造成大量经济损失。

现有技术的缺点:一方面,成本高、存储空间需求大,不适用景区的服务器;另一方面,重复出现相同的二维码,难以识别游客身份,同时一次加密方式易被破解。



技术实现要素:

本发明的目的是在景区内提供一种二维码的生成方法及其生成系统,达到低成本、小容耗的同时可以通过二次加密计算保证二维码不重复,且算法库不断更新,泄露风险大大降低。

为达到上述目的,本发明采用的具体技术方案如下:

一种二维码的生成方法,具体设置以下步骤:

s1,发生机构生成初级代码a,所述初级代码a为指定长度的字符串,所述字符串内包含有时间信息a1、服务器序号码a2和随机字符串a3,所述发生机构发送所述初级代码a至中间机构;

s2,所述发生机构生成初级代码a的代码序号b1,并为该初级代码随机生成一个密码b2,确定该初级代码的算法b3;

所述发生机构将所述代码序号b1、密码b2引入算法b3后计算生成中间代码b,所述发生机构发送中间代码b至中间机构;

s3,所述中间机构接收到所述初级代码a和中间代码b后组合成二次代码c,所述二次代码c为新的字符串,该字符串由初级代码a和中间代码b串接生成,所述中间机构发送所述二次代码c至代码机构;

s4,所述代码机构接收到所述二级代码c后,确定该二级代码c的排序算法c1,并引入算法c1计算生成最终代码d;

所述最终代码d为所求二维码的源代码,所述代码机构分别传送所述最终代码d至存储机构和二维码输出机构;

s5,所述二维码输出机构编辑所述最终代码d形成二维码图案,并输出显示该二维码图案。

所述初级代码a的时间信息a1为相对时间状态信息或绝对时间状态信息;

所述初级代码a的时间信息a1为相对时间状态信息时,时间信息为长度为3或4位的数串,以自然日为计算单位,具体信息计算方法如下:

指定一个日期为初始日,该日的时间信息为1,随后每过一个自然日,所述时间信息加1;该状态下的时间信息a1设置为手动清零或当字符串溢出后自动清零重置;

所述初级代码a的时间信息a1为绝对时间状态信息时,时间信息为长度为6位的数串,以年/月/日标注时间数据。

所述算法b3和排序算法c1分布存储于算法库中,分别由发生机构和代码机构从所述算法库中提取,所述算法b3和排序算法c1相对独立。

所述算法b3和排序算法c1的提取规则为:

按照时间段随机提取,在任一时间段内采用的算法b3一致,采用的排序算法c1也一致。

所述算法库设置为定时更新或应急更新,当发现密码库有泄露风险时启动应急更新,更新时算法库封存其中的全部旧有算法。

一种采用上述二维码的生成方法的生成系统,包括存储机构、二维码输出机构、发生机构、中间机构、代码机构和算法库;

其中发生机构连接中间机构,所述中间机构连接代码机构,所述代码机构分别连接存储机构和二维码输出机构,所述算法库连接所述发生机构和代码机构;

其中所述发生机构生成初级代码a发送到中间机构,生成中间代码b发送到所述中间机构;

所述中间机构生成二级代码c发送到代码机构;

所述代码机构生成最终代码d并分别发送到存储机构和二维码输出机构;

所述存储机构存储最终代码d等待调用;

所述二维码输出机构生成二维码图案,并输出显示该二维码图案;

所述算法库存储算法等待调用。

本发明的有益效果:成本低、容耗小,同时可以通过二次加密计算保证二维码不重复,且算法库不断更新,大大降低二维码的泄露风险。

附图说明

图1是二维码生成系统的结构框图;

图2是二维码生成方法的结构示意图。

具体实施方式

下面结合附图及具体实施例对本发明作进一步详细说明。

如图1所示,一种二维码的生成系统,包括发生机构1、中间机构2、代码机构3、存储机构4、二维码输出机构5和算法库;

其中发生机构1连接中间机构2,所述中间机构2连接代码机构3,所述代码机构3分别连接存储机构4和二维码输出机构5,所述算法库连接所述发生机构1和代码机构3;

其中所述发生机构1生成初级代码a发送到中间机构2,生成中间代码b发送到所述中间机构2;

所述中间机构2生成二级代码c发送到代码机构3;

所述代码机构3生成最终代码d并分别发送到存储机构4和二维码输出机构5;

所述存储机构4存储最终代码d等待调用;

所述二维码输出机构5生成二维码图案,并输出显示该二维码图案;

所述算法库存储算法等待调用。

如图2所示,一种二维码的生成方法,设置以下步骤:

s1,发生机构1生成初级代码a,所述初级代码a为指定长度的字符串,所述字符串内包含有时间信息a1、服务器序号码a2和随机字符串a3,所述发生机构1发送所述初级代码a至中间机构2;

s2,所述发生机构1生成初级代码a的代码序号b1,并为该初级代码随机生成一个密码b2,确定该初级代码的算法b3;

所述发生机构1将所述代码序号b1、密码b2引入算法b3后计算生成中间代码b,所述发生机构1发送中间代码b至中间机构2;

s3,所述中间机构2接收到所述初级代码a和中间代码b后组合成二次代码c,所述二次代码c为新的字符串,该字符串由初级代码a和中间代码b串接生成,所述中间机构2发送所述二次代码c至代码机构3;

s4,所述代码机构3接收到所述二级代码c后,确定该二级代码c的排序算法c1,并引入算法c1计算生成最终代码d;

所述最终代码d为所求二维码的源代码,所述代码机构3分别传送所述最终代码d至存储机构4和二维码输出机构5;

s5,所述二维码输出机构5编辑所述最终代码d形成二维码图案,并输出显示该二维码图案。

所述初级代码a的时间信息a1为3或4位时间信息,为相对时间状态信息,以自然日为计算单位,具体信息计算方法如下:

指定一个日期为初始日,该日的时间信息为1,随后每过一个自然日,所述时间信息加1。

所述时间信息a1设置为手动清零或当字符串溢出后自动清零重置。

所述初级代码a的时间信息a1为6位时间信息,为绝对时间状态信息,以年/月/日标注时间数据。

所述算法b3和排序算法c1分布存储于算法库中,分别由发生机构1和代码机构3从所述算法库中提取,所述算法b3和排序算法c1相对独立。

所述算法b3和排序算法c1的提取规则为:

按照时间段随机提取,在任一时间段内采用的算法b3一致,采用的排序算法c1也一致。

游客注册时,以当天日期时间为时间信息,并分别统一当天或当月的算法b3和排序算法c1。使算法相对的得到简化。

或者在游客注册时,以当天日期时间为时间信息,并统一当天或当月的算法b3,再按照小时段或分钟段,确定对应的排序算法c1。在更大程度上避免了二维码数据重复,同时也增加了破译难度。

所述算法库设置为定时更新或应急更新,当发现密码库有泄露风险时启动应急更新,更新时算法库封存其中的全部旧有算法。旧有算法只为解密原有注册用户数据使用。

作为优选,景区的二维码源代码长度设置为10位数串,其中初级代码a为4位数字长度的时间信息a1,该初级代码a的序号b2为6位数字长度。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1