[发明专利]二维码动态加解密算法在审
申请号: | 201510397512.0 | 申请日: | 2015-07-09 |
公开(公告)号: | CN105426765A | 公开(公告)日: | 2016-03-23 |
发明(设计)人: | 皮强 | 申请(专利权)人: | 深圳百云信息技术有限公司 |
主分类号: | G06F21/60 | 分类号: | G06F21/60 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 518131 广东省深圳市龙华新区民治*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 二维码 动态 解密 算法 | ||
技术领域
本发明涉及二维码加解密技术,具体是一种二维码动态加解密算法。
背景技术
二维码由于存储信息量大,易识别、易传播等优点,被广泛应用于信息获取、网站跳转、广告推送、手机电商、优惠促销、会员管理、手机支付等多种场景。但同时也存在易复制等安全隐患等问题。比如,在传统的二维码会员管理中,商家通过扫描会员用户的手机端产生的二维码以确认会员身份,提取会员信息。这个过程中,同一个商家同一个会员会产生一个固定的二维码,及会员用户手机中显示的二维码。如果,会员用户的二维码一旦被复制,也就意味着该会员用户的身份信息泄露。
发明内容
本发明的目的在于提供一种防止二维码复制造成安全隐患的加解密算法,以解决上述背景技术中提出的问题。
为实现上述目的,本发明提供如下技术方案:
二维码动态加解密算法,对于同一个商家同一个会员会根据当前日期、当前时间不同而产生不同的二维码。且无明显规律。
具体如下:
二维码动态加密算法:以一个大于等于10000000,小于等于99999999的无符号正整数为密钥;以当前时间与当月第一天零时零分的时间间隔秒数为时间戳(不足5位前面补0);以当前时间戳开平方,取小数点后4位作为随机时间因子以避免线性规律;然后,综合会员账号、密钥、时间戳、随机时间因子、当前日期计算出验证码(验证码的生成过程是:会员卡号后4位+密钥后4位+时间戳后4位+随机时间因子+日期后4位之和,取后4位)。再将会员卡号与时间戳拼接的结果对验证码与密钥及素数139的乘积作异或运算得16位结果拼接4位验证码获得编码。
二维码动态解密算法:取20位编码的后4位为验证码。用剩余的16位对对验证码与密钥及素数139的乘积作异或运算,取结果的前11位为会员号,后5位为时间戳。然后,根据分解出的会员账号、时间戳、随机时间因子和密钥、当前日期求得新的验证码。对比验证码如果相等,则解密成功。最后查看时间戳是否过期。
与现有技术相比,本发明的有益效果是:
本发明采用了动态生成二维码的方式,增加了对二维码的时效验证。解决了传统二维码加密技术不能防止复制的缺点。提高了二维码的安全性。
附图说明
图1为二维码动态加解密算法加密过程的示意图;图2为二维码动态加解密算法解密过程的示意图。
具体实施方式
下面结合具体实施方式对本专利的技术方案作进一步详细地说明。
1、加密:
请参阅图1:二维码动态加解密算法加密过程示意图。
步骤一:获取补全的会员卡号,当会员卡号位数不足11位时,在左边补0到11位。
步骤二:获取商家密钥,密钥为大于等于100000000,小于等于99999999的无符号正整数。
步骤三:获取时间戳,取当前时间与当月第一天零时零分的时间间隔秒数为时间戳,不足5位的左边补0。
步骤四:根据步骤三获取的时间戳计算出随机时间因子,将时间戳开平方,取小数点后4位作为随机时间因子。
步骤五:根据前四个步骤的结果,算出验证码。验证码的生成过程是:会员卡号后4位+商家密钥后4位+时间戳后4位+随机时间因子+当前日期后4位之和,取后4位。
步骤六:将步骤一获取的结果(补全的会员卡号)、步骤三获取的结果(时间戳)拼接对步骤五获取的结果(验证码)与商家密钥及固定素数139的乘积作异或运算得16位结果。
步骤七:获取编码,将步骤六等到的结果与验证码拼接获得编码。
2、解密:
请参阅图2:二维码动态加解密算法解密过程示意图。
步骤一:分解出验证码,从该算法加密得到的编码中截取后4位。为验证码。
步骤二:从该算法加密得到的编码中截取前16位对商家密钥与步骤一分解出的验证码与固定素数139的积求异或得16位数字。
步骤三:获取时间戳,从步骤二获取的16位数字中截取后5位为时间戳。
步骤四:根据步骤三获取的时间戳计算出随机时间因子,将时间戳开平方,取小数点后4位作为随机时间因子。
步骤五:据前四个步骤的结果,算出校验验证码。校验验证码的生成过程是:会员卡号后4位+商家密钥后4位+时间戳后4位+随机时间因子+当前日期后4位之和,取后4位。
步骤六:比较校验验证码与验证码是否相等。如果不等,返回-1(解码失败)如果相等进入下一步。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于深圳百云信息技术有限公司,未经深圳百云信息技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201510397512.0/2.html,转载请声明来源钻瓜专利网。
- 上一篇:多备份数据存储方法
- 下一篇:一种对待运行文件进行安全防御的方法