CN109344947A - 二维码的码内容生成方法、二维码生成方法及识别方法 - Google Patents

二维码的码内容生成方法、二维码生成方法及识别方法 Download PDF

Info

Publication number
CN109344947A
CN109344947A CN201811248795.2A CN201811248795A CN109344947A CN 109344947 A CN109344947 A CN 109344947A CN 201811248795 A CN201811248795 A CN 201811248795A CN 109344947 A CN109344947 A CN 109344947A
Authority
CN
China
Prior art keywords
ciphertext
key
character strings
character
market circulation
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN201811248795.2A
Other languages
English (en)
Inventor
林睿
陈进添
苏凌
黄晓松
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujian Shengxing Yun Internet Of Things Technology Co Ltd
Original Assignee
Fujian Shengxing Yun Internet Of Things Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujian Shengxing Yun Internet Of Things Technology Co Ltd filed Critical Fujian Shengxing Yun Internet Of Things Technology Co Ltd
Priority to CN201811248795.2A priority Critical patent/CN109344947A/zh
Publication of CN109344947A publication Critical patent/CN109344947A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K19/00Record carriers for use with machines and with at least a part designed to carry digital markings
    • G06K19/06Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code
    • G06K19/06009Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code with optically detectable marking
    • G06K19/06046Constructional details
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K7/00Methods or arrangements for sensing record carriers, e.g. for reading patterns
    • G06K7/10Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation
    • G06K7/14Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation using light without selection of wavelength, e.g. sensing reflected white light
    • G06K7/1404Methods for optical code recognition
    • G06K7/1408Methods for optical code recognition the method being specifically adapted for the type of code
    • G06K7/14172D bar codes

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Toxicology (AREA)
  • Electromagnetism (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Bioethics (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Storage Device Security (AREA)

Abstract

本发明涉及二维码的码内容生成方法、二维码生成方法及识别方法,所述码内容生成方法包括以下步骤:接收客户端发送的码生成请求后,根据所述客户端的账户ID查找码版本号;根据查找到的码版本号生成第一明文数据;对第一明文数据第一次加密生成市场流通密文;将市场流通密文发送至客户端,服务器不保存市场流通密文。服务器的数据库中并不存储码内容,而是当客户端需要生成码内容时,根据客户端发送的码生成请求后,才开始进行码内容生成,然后根据码版本号进行生成第一明文数据,然后对第一明文数据进行第一次加密后形成市场流通密文,将市场流通密文发送至客户端,可以有效避免服务器的数据库被黑客入侵而造成码内容泄露的问题。

Description

二维码的码内容生成方法、二维码生成方法及识别方法
技术领域
本发明涉及二维码技术领域,特别涉及一种二维码的码内容生成方法、服务端、系统、二维码生成方法、二维码生成端、二维码识别方法及识别端。
背景技术
随着二维码的应用普及,很多厂商推出在产品上设置二维码做促销活动的方案,如客户可以通过扫二维码领红包,促进客户进行购买产品。而随着二维码促销活动的升温,在利益的促使下,不法分子通过非法渠道获取活动二维码信息,以谋取利益,使得厂商的利益受到损失;而目前市面上很多专利都有对二维码进行防盗处理,如公开号CN105819062A的发明专利公开了“一种防盗二维码的易拉罐盖”,该专利可以防止没有购买商品的人恶意旋开拉环,盗取二维码进行兑奖,但缺乏从源头上去杜绝码泄露。因为不同企业间在进行合作时,双方中肯定有一方会提供信息源头的端口,这就要求企业双方在对接时要格外注意。因为在一个企业内部,信息的泄露概率相对较小;而在不同企业之间,涉及的环节较多,二维码码泄露的概率就会增大。未来企业间的跨界合作会更加频繁,这类的码泄露的问题也将会越来越突出。
发明内容
为此,需要提供一种二维码的码内容生成方法、服务端、系统、二维码生成方法、二维码生成端、二维码识别方法及识别端,解决二维码生成涉及不同企业,而造成二维码码泄露概率大的问题。
为实现上述目的,发明人提供了一种二维码的码内容生成方法,包括以下步骤:
接收客户端发送的码生成请求后,根据所述客户端的账户ID查找码版本号;
根据查找到的码版本号生成第一明文数据;
对第一明文数据第一次加密生成市场流通密文;
将市场流通密文发送至客户端,服务器不保存市场流通密文。
进一步优化,所述第一次加密包括初始加密及填充加密;
所述初始加密包括以下步骤:
获取第一明文数据、第一密钥及62字符串,所述62字符串包括大写字母、小写字母及数字;
将第一明文数据转换成62进制数据,并对62进制数据补位得到第二明文数据;
获得第二明文数据对应62字符串的明文位置,及获取第一密钥对应62字符串的密钥位置;
对明文位置与密钥位置进行算数运算后得到新的字符位置;
根据新的字符位置对应62字符串获得原始密文;
所述填充加密包括以下步骤:
根据原始密文计算得到验证位;
将验证位与第一密钥进行组合形成第二密钥;
根据原始密文、第二密钥及62字符串通过初始加密获取填充密文;
将码版本号及验证位添加至填充密文得到市场流通密文。
进一步优化,所述62字符串为乱序字符串。
进一步优化,所述“对第一明文数据第一次加密生成市场流通密文”之后还包括步骤:
对市场流通密文第二次加密获得防泄漏密文;
将防泄漏密文发送至客户端。
进一步优化,所述第二次加密具体包括以下步骤:
获市场流通密文、码版本号、第三密钥及62字符串;
根据市场流通密文计算得到验证位;
获得市场流通密文对应62字符串的密文位置,及获得第三密钥对应62字符串的密钥位置;
对密文位置及密钥位置进行算数运算后得到字符位置;
根据字符位置对应62字符串得到防泄漏字符串;
将码版本号及验证位添加至防泄漏字符串得到防泄漏密文。
发明人还提供了另一个技术方案,一种服务端,所述服务端包括存储介质及处理器,所述存储介质包括计算机程序,所述计算机程序被处理器运行时执行上述所述方法的步骤。
发明人还提供了另一个技术方案,一种二维码的码内容生成系统,其特征在于,包括服务端及客户端;
所述服务端为上述所述服务端;
所述客户端用于向服务端发送服务码生成请求,并接收服务端发送的市场流通密文。
发明人还提供了另一个技术方案,一种二维码生成方法,包括以下步骤:
获取防泄漏密文;
根据对第二次加密对应的第一解密算法对防泄漏密文解密获得市场流通密文;
所述第一解密算法包括:
获得第三密钥及62字符串,根据防泄漏密文获得防泄漏字符串;
获取防泄漏字符串对应62字符串的字符位置,及获取第三密钥对应62字符串的密钥位置;
根据字符位置及密钥位置进行算数运算得到密文位置;
根据密文位置对应62字符串得到市场流通密文;
根据市场流通密文生成二维码。
发明人还提供了另一个技术方案:一种二维码生成端,所述生成端包括存储介质及处理器,所述存储介质包括计算机程序,所述计算机程序被处理器运行时执行上述所述二维码生成方法的步骤。
发明人还提供了另一个技术方案,一种二维码识别方法,包括以下步骤:
扫描二维码获取市场流通密文;
根据第一次加密对应的第二解密算法对市场流通密文进行解密获得第一明文数据;
所述第二解密算法具体包括以下步骤:
根据市场流通密文获取填充密文,所述市场流通密文包括码版本号及验证位;
根据填充密文对应62字符串的位置获得第一密文位置;
根据第一密钥及验证位组合得到第二密钥;
根据第二密钥对应62字符串的位置获得第一密钥位置;
根据第一密文位置及第一密钥位置进行算数运算得到第一字符位置;
根据第一字符位置对应62字符串得到原始密文;
获得原始密文对应62字符串的第二密文位置,及获得第一密钥对应62字符串的第二密钥位置;
根据第二密文位置及第二密钥位置进行算数运算得到第二字符位置;
根据第二字符串对应62字符串得到第二明文数据;
并将第二明文数据转化成十进制得到第一明文数据。
发明人还提供了另一个技术方案,一种二维码识别端,所述识别端包括存储介质及处理器,所述存储介质包括计算机程序,所述计算机程序被处理器运行时执行上述所述二维码识别方法。
区别于现有技术,上述技术方案,服务器的数据库中并不存储码内容,而是当客户端需要生成码内容时,根据客户端发送的码生成请求后,才开始进行码内容生成,根据客户端的账户ID进行查找码版本号,然后根据码版本号进行生成第一明文数据,然后对第一明文数据进行第一次加密后形成市场流通密文,生成市场流通密文后,将市场流通密文发送至客户端,可以有效避免服务器的数据库被黑客入侵而造成码内容泄露的问题。
附图说明
图1为具体实施方式所述二维码的码内容生成方法的一种流程示意图;
图2为具体实施方式所述初步加密的一种流程示意图;
图3为具体实施方式所述填充加密的一种流程示意图;
图4为具体实施方式所述第二次加密的一种流程示意图;
图5为具体实施方式所述服务端的一种结构示意图;
图6为具体实施方式所述二维码的码内容生成系统的一种结构示意图;
图7为具体实施方式所述二维码生成方法的一种流程示意图;
图8为具体实施方式所述第一解密算法的一种流程示意图;
图9为具体实施方式所述二维码生成端的一种结构示意图;
图10为具体实施方式所述二维码识别方法的一种流程示意图;
图11为具体实施方式所述第二解密算法的一种流程示意图;
图12为具体实施方式所述二维码识别端的一种结构示意图。
附图标记说明:
510、服务端,
511、第一存储介质,
512、第一处理器,
520、客户端,
910、二维码生成端,
911、第二存储介质,
912、第二处理器,
1200、二维码识别端端,
1210、第三存储介质,
1220、第三处理器。
具体实施方式
为详细说明技术方案的技术内容、构造特征、所实现目的及效果,以下结合具体实施例并配合附图详予说明。
请参阅图1,本实施例所述一种二维码的码内容生成方法,所述码内容生成方法运用于服务端,所述服务端包括但不限于:智能手机、平板电脑、笔记本、个人计算机、专用计算机、
所述码内容生成方法包括以下步骤:
步骤S110:接收客户端发送的码生成请求后,根据所述客户端的账户ID查找码版本号;
步骤S120:根据查找到的码版本号生成第一明文数据;
步骤S130:对第一明文数据第一次加密生成市场流通密文;
步骤S140:将市场流通密文发送至客户端,服务器不保存市场流通密文。
当客户端需要二维码的码内容生成时,客户端向服务端发送码生成请求,当服务端接收到客户端发送的码生成请求后,其中,当用户通过客户端进行注册账户ID时,服务端根据用户注册的账户ID生成码版本号,码版本号与客户端的账户ID绑定,根据客户端的账户ID进行查找码版本号,然后根据对应的码版本号进行生成第一明文数据,当生成第一明文数据后,对第一明文数据进行第一次加密,经过第一次加密后得到市场流通密文,可以避免不法分子通过其他渠道获取到市场流通密文后,得到第一明文数据,然后将市场流通密文发送给客户端,服务端并不存储有市场流通密文,而是当服务端接收到客户端发送的码生成请求时,才进行码内容(即市场流通密文)生成,而当码内容生成后,服务端将码内容发送至客户端,服务端发送完码内容后,并不会存储生成后的码内容,可以避免黑客入侵服务端的数据库后获取码内容,大大降低了码内容的泄露。
请参阅图2及图3,其中,第一加密算法具体包括初始加密及填充加密,初始加密具体包括以下步骤:
步骤S210:获取第一明文数据、第一密钥及62字符串,所述62字符串包括大写字母、小写字母及数字;
步骤S220:将第一明文数据转换成62进制数据,并对62进制数据补位得到第二明文数据;
步骤S230:获得第二明文数据对应62字符串的明文位置,及获取第一密钥对应62字符串的密钥位置;
步骤S240:对明文位置与密钥位置进行算数运算后得到新的字符位置;
步骤S250:根据新的字符位置对应62字符串获得原始密文;
所述填充加密包括以下步骤:
步骤S260:根据原始密文计算得到验证位;
步骤S270:将验证位与第一密钥进行组合形成第二密钥;
步骤S280:根据原始密文、第二密钥及62字符串通过初始加密获取填充密文;
步骤S290:将码版本号及验证位添加至填充密文得到市场流通密文。
当服务端生成第一明文数据后,首先对第一明文数据进行初始加密,将第一明文转换成62进制数据,然后进行补位后形成第二明文数据,然后根据得到的第二明文数据对应62字符串的字符位置,其中,进一步避免第二明文数据的泄露,62字符串包括26位大写字母、26位小写字母及数字0-9,及62字符串为乱序字符串,在获取第一密钥对应62字符串的密钥位置,然后根据得到字符位置与密钥位置进行算数运算得到密文位置,然后根据密文位置对应62字符串得到原始密文,对原始密文进行填充加密得到市场流通密文,首先根据原始密文计算得到验证位,将验证位与第一密钥进行组合形成第二密钥,然后根据原始密文、第二密钥及62字符串再次通过初始加密得到填充密文,然后再讲码版本号及验证位添加至填充密文得到市场流通密文。
具体如,码版本号为6,服务端根据码版本号生成的第一明文数据为159、密钥为635c27f0efcf917e8bc9b2e25671bfc6、及62字符串:S7bcuaxw5KGA1CNU6YEsJWLoTe42dkp8IFhXnrMiVHzQ3ylqO0DRZJVfBgmt9P,将十进制的159转化为62进制数据2z,然后根据流通11位码规则进行补位,补位码=11位流通码-2位验证码-1位码版本号,即补位码为8位,则对62进制数据2z进行补位得到第二明文数据:0000002z,获得第二明文数据对应到62字符串的字符位置:
0在62字符串的50位置,
2在62字符串的28位置,
z在62字符串的43位置。
根据第二明文数据为8位,则获得第一密钥的前八位字符对应62字符串的位置,即635c27f0每个字符对应62字符串的密钥位置:
6在62字符串的17位置,
3在62字符串的45位置,
5在62字符串的9位置,
c在62字符串的4位置,
2在62字符串的28位置,
7在62字符串的2位置,
f在62字符串的56位置,
0在62字符串的50位置。
然后对得到的第二明文数据对应的字符位置与第一密钥对应的密钥位置进行算数运算得到密文位置,及根据密文位置对应62字符串得到原始密文:
50+17=67,先进行加法运算,由于67大于62,而为了能找到对应的62字符串中的字符,则将67-62得到密钥位置5,则对应62字符串中的字符u,
同理对其他字符位置及密钥位置进行运算:
50+45=95,95–62=33,对应62字符串I,
50+9=59,对应62字符串m(59小于62,所以不用减62),
50+4=54,对应62字符串j,
50+28=78,78–62=16,对应62字符串U,
50+2=52,对应62字符串R,
28+56=84,84–62=22,对应62字符串W,
43+50=93,93–62=31,对应62字符串p,
得到原始密文为:uImjURWp。
对原始密文进行填充加密:
根据原始密文计算出验证位,规定验证位为2位,通过以下方式计算出2为验证位:
Md5(“uImjURWp”)=b71567afc80cc5db1540db4d0513c227,
把上面得到的32为字符串的每一位字符的ASCII码值相加得到:2222;
然后2222对62的2次方求余,得到的余数还是2222,然后将2222转化为62进制数得到zQ,zQ即验证位。
然后将得到的验证位与第一密钥组合成第二密钥:
把验证与密钥连接并md5组成第二密钥
Md5(“zQ”+第一密钥)=d58d809507577fdc5b3d73a41eab0864。
将第二密钥和原始密钥再经过上述的初始加密的步骤得到填充密文:FHdJqiJi。
然后将码版本号及验证位添加至填充密文,得到市场流通密文:6FhdJqiJizQ。
在本实施例中,由于生产过程中的流通,可能导致泄露市场流通密文,为了减少流通过程中市场流通密文的泄露的概率,所述“对第一明文数据第一次加密生成市场流通密文”之后还包括步骤:
对市场流通密文第二次加密获得防泄漏密文;
将防泄漏密文发送至客户端。
通过对市场流通进行第二次加密得到防泄漏密文,然后将防泄漏密文发送给客户端,使得犯泄露密文在客户端上流通的过程,即使犯泄露密文的泄露,也可以降低市场流通密文泄露的概率。
请参阅图4,其中,所述第二次加密具体包括以下步骤:
步骤S410:获市场流通密文、码版本号、第三密钥及62字符串;
步骤S420:根据市场流通密文计算得到验证位;
步骤S430:获得市场流通密文对应62字符串的密文位置,及获得第三密钥对应62字符串的密钥位置;
步骤S440:对密文位置及密钥位置进行算数运算后得到字符位置;
步骤S450:根据字符位置对应62字符串得到防泄漏字符串;
步骤S460:将码版本号及验证位添加至防泄漏字符串得到防泄漏密文。
第二次加密的步骤与第一次加密中的填充加密步骤相同,通过对市场流通密文计算得到验证位,然后将验证位与第一密钥进行组合形成第三密钥,获得市场流通密文对应62字符串的密文位置,及获得第三密钥对应62字符串的密钥位置,将密文位置与密钥位置进行算数运算得到字符位置,然后根据运算得到的字符位置对应62字符串得到犯泄露字符串,然后添加验证位及码版本号得到防泄露密文,再将防泄露密文发送至客户端,降低市场流通密文在二维码生产的流通过程中的泄露,而由于经过第二次加密后,在生产的过程中,需要解密附码,为了保证安全,第二次加密的密钥不能与初始加密的密钥相同,即第三密钥与第一密钥为独立的密钥,避免由于第三密钥与第一密钥相同或相关,使得在二维码生成过程中第一密钥的泄露。
请参阅图5,在另一个实施例中,一种服务端510,服务端510用于生成二维码的码内容,所述服务端510包括第一存储介质511及第一处理器512,所述第一存储介质511包括第一计算机程序,所述第一计算机程序被第一处理器512运行时执行以下步骤:
接收客户端发送的码生成请求后,根据所述客户端的账户ID查找码版本号;
根据查找到的码版本号生成第一明文数据;
对第一明文数据第一次加密生成市场流通密文;
将市场流通密文发送至客户端。
客户端需要二维码的码内容生成时,客户端向服务端510发送码生成请求,当服务端510接收到客户端发送的码生成请求后,其中,当用户通过客户端进行注册账户ID时,服务端510根据用户注册的账户ID生成码版本号,码版本号与客户端的账户ID绑定,根据客户端的账户ID进行查找码版本号,然后根据对应的码版本号进行生成第一明文数据,当生成第一明文数据后,对第一明文数据进行第一次加密,经过第一次加密后得到市场流通密文,可以避免不法分子通过其他渠道获取到市场流通密文后,得到第一明文数据,然后将市场流通密文发送给客户端,服务端510并不存储有市场流通密文,而是当服务端510接收到客户端发送的码生成请求时,才进行码内容(即市场流通密文)生成,而当码内容生成后,服务端510将码内容发送至客户端,服务端510发送完码内容后,并不会存储生成后的码内容,可以避免黑客入侵服务端510的数据库后获取码内容,大大降低了码内容的泄露。
其中,所述第一次加密包括初始加密及填充加密;
所述初始加密包括以下步骤:
获取第一明文数据、第一密钥及62字符串,所述62字符串包括大写字母、小写字母及数字;
将第一明文数据转换成62进制数据,并对62进制数据补位得到第二明文数据;
获得第二明文数据对应62字符串的明文位置,及获取第一密钥对应62字符串的密钥位置;
对明文位置与密钥位置进行算数运算后得到新的字符位置;
根据新的字符位置对应62字符串获得原始密文;
所述填充加密包括以下步骤:
获取原始密文、码版本号、第一密钥及62字符串;
根据原始密文计算得到验证位;
将验证位与第一密钥进行组合形成第二密钥;
根据原始密文、第二密钥及62字符串通过初始加密获取填充密文;
将码版本号及验证位添加至填充密文得到市场流通密文。
当服务端510生成第一明文数据后,首先对第一明文数据进行初始加密,将第一明文转换成62进制数据,然后进行补位后形成第二明文数据,然后根据得到的第二明文数据对应62字符串的字符位置,其中,进一步避免第二明文数据的泄露,62字符串包括26位大写字母、26位小写字母及数字0-9,及62字符串为乱序字符串,在获取第一密钥对应62字符串的密钥位置,然后根据得到字符位置与密钥位置进行算数运算得到密文位置,然后根据密文位置对应62字符串得到原始密文,对原始密文进行填充加密得到市场流通密文,首先根据原始密文计算得到验证位,将验证位与第一密钥进行组合形成第二密钥,然后根据原始密文、第二密钥及62字符串再次通过初始加密得到填充密文,然后再讲码版本号及验证位添加至填充密文得到市场流通密文。
进一步优化,所述第一计算机程序被第一处理器512运行执行步骤“对第一明文数据第一次加密生成市场流通密文”之后还执行步骤:
对市场流通密文第二次加密获得防泄漏密文;
将防泄漏密文发送至客户端。
通过对市场流通进行第二次加密得到防泄漏密文,然后将防泄漏密文发送给客户端,使得犯泄露密文在客户端上流通的过程,即使犯泄露密文的泄露,也可以降低市场流通密文泄露的概率。其中,所述第二次加密具体包括以下步骤:
获市场流通密文、码版本号、第三密钥及62字符串;
根据市场流通密文计算得到验证位;
获得市场流通密文对应62字符串的密文位置,及获得第三密钥对应62字符串的密钥位置;
对密文位置及密钥位置进行算数运算后得到字符位置;
根据字符位置对应62字符串得到防泄漏字符串;
将码版本号及验证位添加至防泄漏字符串得到防泄漏密文。
第二次加密的步骤与第一次加密中的填充加密步骤相同,通过对市场流通密文计算得到验证位,然后将验证位与第一密钥进行组合形成第三密钥,获得市场流通密文对应62字符串的密文位置,及获得第三密钥对应62字符串的密钥位置,将密文位置与密钥位置进行算数运算得到字符位置,然后根据运算得到的字符位置对应62字符串得到犯泄露字符串,然后添加验证位及码版本号得到防泄露密文,再将防泄露密文发送至客户端,降低市场流通密文在二维码生产的流通过程中的泄露,而由于经过第二次加密后,在生产的过程中,需要解密附码,为了保证安全,第二次加密的密钥不能与初始加密的密钥相同,即第三密钥与第一密钥为相互独立的密钥,避免由于第三密钥与第一密钥相同或相关,使得在二维码生成过程中第一密钥的泄露。
请参阅图6,在另一个实施例中,一种二维码的码内容生成系统,其特征在于,包括服务端510及客户端520;
所述服务端510为上述实施例中所述服务端510;
所述客户端520用于向服务端510发送服务码生成请求,并接收服务端510发送的市场流通密文。
客户端520需要二维码的码内容生成时,客户端520向服务端510发送码生成请求,当服务端510接收到客户端发送的码生成请求后,其中,当用户通过客户端进行注册账户ID时,服务端510根据用户注册的账户ID生成码版本号,码版本号与客户端的账户ID绑定,根据客户端520的账户ID进行查找码版本号,然后根据对应的码版本号进行生成第一明文数据,当生成第一明文数据后,对第一明文数据进行第一次加密,经过第一次加密后得到市场流通密文,可以避免不法分子通过其他渠道获取到市场流通密文后,得到第一明文数据,然后将市场流通密文发送给客户端520,服务端510并不存储有市场流通密文,而是当服务端510接收到客户端520发送的码生成请求时,才进行码内容(即市场流通密文)生成,而当码内容生成后,服务端510将码内容发送至客户端520,服务端510发送完码内容后,并不会存储生成后的码内容,可以避免黑客入侵服务端510的数据库后获取码内容,大大降低了码内容的泄露。
请参阅图7,在另一个实施例中,一种二维码生成方法,所述二维码生成方法应用于二维码生成端,包括以下步骤:
步骤S710:获取防泄漏密文;
步骤S720:根据对第二次加密对应的第一解密算法对防泄漏密文解密获得市场流通密文;
步骤S730:根据市场流通密文生成二维码。
当用户通过客户端获取经过第二次加密的码内容,即防泄漏密文,用户通过客户端将获取的防泄漏密文传输给二维码生成端,而二维码生成端需要根据码内容(市场流通密文)进行生成二维码之前,需要对防泄漏密文进行解密,进行获取市场流通密文,当获得市场流通密文后,根据市场流通密文进行生成相应的二维码。由于市场流通密文经过第二次加密后形成防泄漏加密,二维码生成端无法对市场流通密文进行解密获得明文数据,可以避免根据市场流通密文进行二维码生成的过程中,导致明文泄露。
请参阅图8,其中,第一解密算法具体包括以下步骤:
步骤S810:获得第三密钥及62字符串,根据防泄漏密文获得防泄漏字符串;
步骤S820:获取防泄漏字符串对应62字符串的字符位置,及获取第三密钥对应62字符串的密钥位置;
步骤S830:根据字符位置及密钥位置进行算数运算得到密文位置;
步骤S840:根据密文位置对应62字符串得到市场流通密文。
将防泄漏密文中的验证位及码版本号去除,从而得到防泄漏字符串,然后获得泄漏字符串对应62字符串的字符位置,及获得第三密钥对应62字符串的密钥位置,然后根据字符位置及密钥位置进行算数运算得到密文位置,再根据密文位置对应62字符串得到市场流通密文;第三密钥与第一密钥为相互独立的密钥,避免由于第三密钥与第一密钥相同或相关,使得在二维码生成过程中第一密钥的泄露。
请参阅图9,在另一个实施例中,一种二维码生成端910,所述生成端包括第二存储介质911及第二处理器912,所述第二存储介质911包括第二计算机程序,所述第二计算机程序被第二处理器912运行时执行以下步骤:
获取防泄漏密文;
根据对第二次加密对应的第一解密算法对防泄漏密文解密获得市场流通密文;
根据市场流通密文生成二维码。
当用户通过客户端获取经过第二次加密的码内容,即防泄漏密文,用户通过客户端将获取的防泄漏密文传输给二维码生成端910,而二维码生成端910需要根据码内容(市场流通密文)进行生成二维码之前,需要对防泄漏密文进行解密,进行获取市场流通密文,当获得市场流通密文后,根据市场流通密文进行生成相应的二维码。由于市场流通密文经过第二次加密后形成防泄漏加密,二维码生成端无法对市场流通密文进行解密获得明文数据,可以避免根据市场流通密文进行二维码生成的过程中,导致明文泄露。其中,第一解密算法具体包括以下步骤:
根据防泄漏密文获得防泄漏字符串、第三密钥及62字符串;
获取防泄漏字符串对应62字符串的字符位置,及获取第三密钥对应62字符串的密钥位置;
根据字符位置及密钥位置进行算数运算得到密文位置;
根据密文位置对应62字符串得到市场流通密文。
将防泄漏密文中的验证位及码版本号去除,从而得到防泄漏字符串,然后获得泄漏字符串对应62字符串的字符位置,及获得第三密钥对应62字符串的密钥位置,然后根据字符位置及密钥位置进行算数运算得到密文位置,再根据密文位置对应62字符串得到市场流通密文;第三密钥与第一密钥为相互独立的密钥,避免由于第三密钥与第一密钥相同或相关,使得在二维码生成过程中第一密钥的泄露。
请参阅图10,在另一个实施例中,一种二维码识别方法,所述二维码识别方法应用于二维码识别端,所述二维码识别端包括但不限定:移动终端、平板电脑、个人计算机、专用计算机、笔记本电脑、台式电脑等,所述二维码识别方法包括以下步骤:
步骤S1010:扫描二维码获取市场流通密文;
步骤S1020:根据第一次加密对应的第二解密算法对市场流通密文进行解密获得第一明文数据。
由于市场流通密文经过第一次加密进行加密,要获取市场流通密文内的明文数据,需要对市场流通密文进行解密,当二维码识别端扫描二维码获取到市场流通密文,根据第一次加密对应的第二解密算法对市场流通密文进行解密获得第一明文数据,对市场流通密文需要通过二维码识别端进行解密才能获得明文数据,能够有效防止市场流通密文泄露导致明文数据被获取的情况发生。
请参阅图11,所述第二解密算法具体包括以下步骤:
步骤S1110:根据市场流通密文获取填充密文,所述市场流通密文包括码版本号及验证位;
步骤S1120:根据填充密文对应62字符串的位置获得第一密文位置;
步骤S1130:根据第一密钥及验证位组合得到第二密钥;
步骤S1140:根据第二密钥对应62字符串的位置获得第一密钥位置;
步骤S1150:根据第一密文位置及第一密钥位置进行算数运算得到第一字符位置;
步骤S1160:根据第一字符位置对应62字符串得到原始密文;
步骤S1170:获得原始密文对应62字符串的第二密文位置,及获得第一密钥对应62字符串的第二密钥位置;
步骤S1180:根据第二密文位置及第二密钥位置进行算数运算得到第二字符位置;
步骤S190:根据第二字符串对应62字符串得到第二明文数据,并将第二明文数据转化成十进制得到第一明文数据。
如当获取到市场流通密文:6FhdJqiJizQ,其中码版本号为6,验证位为zQ,可以得到填充密文FhdJqiJiz;由于为对称加密,故第一密钥与第一次加密的第一次密钥相同,第一密钥为:635c27f0efcf917e8bc9b2e25671bfc6;62字符串为:S7bcuaxw5KGA1CNU6YEsJWLoTe42dkp8IFhXnrMiVHzQ3ylqO0DRZJVfBgmt9P;根据填充密文对应62字符串的位置获得第一密文位置:
F在62字符串的34位置;
H在62字符串的42位置;
d在62字符串的29位置;
J在62字符串的21位置;
q在62字符串的48位置;
i在62字符串的40位置;
J在62字符串的21位置;
i在62字符串的40位置。
根据第一密钥及验证位组合得到第二密钥,md5(“zQ”+第一密钥),即Md5(“zQ”+“635c27f0efcf917e8bc9b2e25671bfc6”),得到第二密钥:d58d809507577fdc5b3d73a41eab0864;根据第二密钥对应62字符串的位置获得第一密钥位置,由于填充密文为8位,故取第二密钥的前8位对应62字符串的位置获得第一密钥位置:
d在62字符串的29位置;
5在62字符串的9位置;
8在62字符串的32位置;
d在62字符串的29位置;
8在62字符串的32位置;
0在62字符串的50位置;
9在62字符串的61位置;
5在62字符串的9位置。
根据第一密文位置及第一密钥位置进行算数运算得到第一字符位置:
34-29=5,5对应62字符串中的字符u;
42-9=33,33对应62字符串中的字符I;
29-32=-3,由于-3小于零,故-3+62=59,59对应62字符串中的字符m;
21-29=-8,由于-8小于零,故-8+62=54,54对应62字符串中的字符j;
48-32=16,16对应62字符串中的字符U;
40-50=-10,-10小于零,故-10+62=52,52对应62字符串中的字符R;
21-61=-40,-40小于零,故-40+62=22,22对应62字符串中的字符W;
40-9=31,31对应62字符串中的字符p。
故得到原始密文:uImjURWp。
获得原始密文对应62字符串的第二密文位置:
u在62字符串的5位置;
I在62字符串的33位置;
m在62字符串的59位置;
j在62字符串的54位置;
U在62字符串的16位置;
R在62字符串的52位置;
W在62字符串的22位置;
p在62字符串的31位置。
获得第一密文对应62字符串的第二密文位置:
6在62字符串的17位置;
3在62字符串的45位置;
5在62字符串的9位置;
c在62字符串的4位置;
2在62字符串的28位置;
7在62字符串的2位置;
f在62字符串的56位置;
0在62字符串的50位置。
根据第二密文位置及第二密钥位置进行算数运算得到第二字符位置:
5-17=-12,-12小于零,故-12+62=50,50对应62字符串中的字符0;
33-45=-12,-12小于零,故-12+62=50,50对应62字符串中的字符0;
59-9=50,50对应62字符串中的字符0;
54-4=50,50对应62字符串中的字符0;
16-28=-12,-12小于零,故-12+62=50,50对应62字符串中的字符0;
52-2=50,50对应62字符串中的字符0;
22-56=-34,-34小于零,故134+62=28,28对应62字符串中的字符2;
31-50=-19,-19小于零,-09+62=43,43对应62字符串中的字符z;
得到第二明文数据:0000002z;将第二明文数据转化为十进制数据得到第一明文数据:159。
请参阅图12,在另一个实施例中,一种二维码识别端1200,所述识别端包括第三存储介质1210及第三处理器1220,所述第三存储1210介质包括第三计算机程序,所述第三计算机程序被第三处理器1220运行时执行以下步骤:
扫描二维码获取市场流通密文;
根据第一次加密对应的第二解密算法对市场流通密文进行解密获得第一明文数据。
由于市场流通密文经过第一次加密进行加密,要获取市场流通密文内的明文数据,需要对市场流通密文进行解密,当二维码识别端1200扫描二维码获取到市场流通密文,根据第一次加密对应的第二解密算法对市场流通密文进行解密获得第一明文数据,对市场流通密文需要通过二维码识别端1200进行解密才能获得明文数据,能够有效防止市场流通密文泄露导致明文数据被获取的情况发生。
其中,所述第二解密算法具体包括以下步骤:
根据市场流通密文获取填充密文,所述市场流通密文包括码版本号及验证位;
根据填充密文对应62字符串的位置获得第一密文位置;
根据第一密钥及验证位组合得到第二密钥;
根据第二密钥对应62字符串的位置获得第一密钥位置;
根据第一密文位置及第一密钥位置进行算数运算得到第一字符位置;
根据第一字符位置对应62字符串得到原始密文;
获得原始密文对应62字符串的第二密文位置,及获得第一密钥对应62字符串的第二密钥位置;
根据第二密文位置及第二密钥位置进行算数运算得到第二字符位置;
根据第二字符串对应62字符串得到第二明文数据;
并将第二明文数据转化成十进制得到第一明文数据。
需要说明的是,尽管在本文中已经对上述各实施例进行了描述,但并非因此限制本发明的专利保护范围。因此,基于本发明的创新理念,对本文所述实施例进行的变更和修改,或利用本发明说明书及附图内容所作的等效结构或等效流程变换,直接或间接地将以上技术方案运用在其他相关的技术领域,均包括在本发明的专利保护范围之内。

Claims (10)

1.一种二维码的码内容生成方法,其特征在于,包括以下步骤:
接收客户端发送的码生成请求后,根据所述客户端的账户ID查找码版本号;
根据查找到的码版本号生成第一明文数据;
对第一明文数据第一次加密生成市场流通密文;
将市场流通密文发送至客户端,服务器不保存市场流通密文。
2.根据权利要求1所述二维码的码内容生成方法,其特征在于,所述第一次加密包括初始加密及填充加密;
所述初始加密包括以下步骤:
获取第一明文数据、第一密钥及62字符串,所述62字符串包括大写字母、小写字母及数字;
将第一明文数据转换成62进制数据,并对62进制数据补位得到第二明文数据;
获得第二明文数据对应62字符串的明文位置,及获取第一密钥对应62字符串的密钥位置;
对明文位置与密钥位置进行算数运算后得到新的字符位置;
根据新的字符位置对应62字符串获得原始密文;
所述填充加密包括以下步骤:
根据原始密文计算得到验证位;
将验证位与第一密钥进行组合形成第二密钥;
根据原始密文、第二密钥及62字符串通过初始加密获取填充密文;
将码版本号及验证位添加至填充密文得到市场流通密文。
3.根据权利要求1所述二维码的码内容生成方法,其特征在于,所述“对第一明文数据第一次加密生成市场流通密文”之后还包括步骤:
对市场流通密文第二次加密获得防泄漏密文;
将防泄漏密文发送至客户端。
4.根据权利要求3所述二维码的码内容生成方法,其特征在于,所述第二次加密具体包括以下步骤:
获市场流通密文、码版本号、第三密钥及62字符串;
根据市场流通密文计算得到验证位;
获得市场流通密文对应62字符串的密文位置,及获得第三密钥对应62字符串的密钥位置;
对密文位置及密钥位置进行算数运算后得到字符位置;
根据字符位置对应62字符串得到防泄漏字符串;
将码版本号及验证位添加至防泄漏字符串得到防泄漏密文。
5.一种服务端,所述服务端包括存储介质及处理器,所述存储介质包括计算机程序,其特征在于,所述计算机程序被处理器运行时执行权利要求1-4任一所述方法的步骤。
6.一种二维码的码内容生成系统,其特征在于,包括服务端及客户端;
所述服务端为权利要求5所述服务端;
所述客户端用于向服务端发送服务码生成请求,并接收服务端发送的市场流通密文。
7.一种二维码生成方法,其特征在于,包括以下步骤:
获取防泄漏密文;
根据对第二次加密对应的第一解密算法对防泄漏密文解密获得市场流通密文;
所述第一解密算法包括:
获得第三密钥及62字符串,根据防泄漏密文获得防泄漏字符串;
获取防泄漏字符串对应62字符串的字符位置,及获取第三密钥对应62字符串的密钥位置;
根据字符位置及密钥位置进行算数运算得到密文位置;
根据密文位置对应62字符串得到市场流通密文;
根据市场流通密文生成二维码。
8.一种二维码生成端,所述生成端包括存储介质及处理器,所述存储介质包括计算机程序,所述计算机程序被处理器运行时执行权利要求7所述方法的步骤。
9.一种二维码识别方法,其特征在于,包括以下步骤:
扫描二维码获取市场流通密文;
根据第一次加密对应的第二解密算法对市场流通密文进行解密获得第一明文数据;
所述第二解密算法具体包括以下步骤:
根据市场流通密文获取填充密文,所述市场流通密文包括码版本号及验证位;
根据填充密文对应62字符串的位置获得第一密文位置;
根据第一密钥及验证位组合得到第二密钥;
根据第二密钥对应62字符串的位置获得第一密钥位置;
根据第一密文位置及第一密钥位置进行算数运算得到第一字符位置;
根据第一字符位置对应62字符串得到原始密文;
获得原始密文对应62字符串的第二密文位置,及获得第一密钥对应62字符串的第二密钥位置;
根据第二密文位置及第二密钥位置进行算数运算得到第二字符位置;
根据第二字符串对应62字符串得到第二明文数据;
并将第二明文数据转化成十进制得到第一明文数据。
10.一种二维码识别端,所述识别端包括存储介质及处理器,所述存储介质包括计算机程序,其特征在于,所述计算机程序被处理器运行时执行权利要求9所述方法。
CN201811248795.2A 2018-10-25 2018-10-25 二维码的码内容生成方法、二维码生成方法及识别方法 Pending CN109344947A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811248795.2A CN109344947A (zh) 2018-10-25 2018-10-25 二维码的码内容生成方法、二维码生成方法及识别方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811248795.2A CN109344947A (zh) 2018-10-25 2018-10-25 二维码的码内容生成方法、二维码生成方法及识别方法

Publications (1)

Publication Number Publication Date
CN109344947A true CN109344947A (zh) 2019-02-15

Family

ID=65311676

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811248795.2A Pending CN109344947A (zh) 2018-10-25 2018-10-25 二维码的码内容生成方法、二维码生成方法及识别方法

Country Status (1)

Country Link
CN (1) CN109344947A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109977716A (zh) * 2019-03-14 2019-07-05 北京龙贝世纪科技股份有限公司 一种数据解码方法、终端及存储介质
CN112418881A (zh) * 2020-11-07 2021-02-26 许尧龙 一种二维码认证打码方法及溯源系统

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104091277A (zh) * 2014-06-10 2014-10-08 北京智云众网络科技有限公司 用户身份标识的关联方法和装置、广告投放方法和装置
CN104618334A (zh) * 2014-12-29 2015-05-13 通邮(中国)科技有限公司 动态二维码生成验证方法及系统
CN104955044A (zh) * 2015-05-29 2015-09-30 北京奇虎科技有限公司 目标网络接入及其导引方法以及其相应的终端
CN106022011A (zh) * 2016-05-30 2016-10-12 合欢森林网络科技(北京)有限公司 基于图像的保密信息传播方法、装置和系统
CN106599963A (zh) * 2016-11-17 2017-04-26 上海斐讯数据通信技术有限公司 一种形成带有明文的二维码的方法及系统
CN106713274A (zh) * 2016-11-25 2017-05-24 湖南工业大学 基于文本压缩的二维码生成、读取方法及生成、读取装置

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104091277A (zh) * 2014-06-10 2014-10-08 北京智云众网络科技有限公司 用户身份标识的关联方法和装置、广告投放方法和装置
CN104618334A (zh) * 2014-12-29 2015-05-13 通邮(中国)科技有限公司 动态二维码生成验证方法及系统
CN104955044A (zh) * 2015-05-29 2015-09-30 北京奇虎科技有限公司 目标网络接入及其导引方法以及其相应的终端
CN106022011A (zh) * 2016-05-30 2016-10-12 合欢森林网络科技(北京)有限公司 基于图像的保密信息传播方法、装置和系统
CN106599963A (zh) * 2016-11-17 2017-04-26 上海斐讯数据通信技术有限公司 一种形成带有明文的二维码的方法及系统
CN106713274A (zh) * 2016-11-25 2017-05-24 湖南工业大学 基于文本压缩的二维码生成、读取方法及生成、读取装置

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109977716A (zh) * 2019-03-14 2019-07-05 北京龙贝世纪科技股份有限公司 一种数据解码方法、终端及存储介质
CN112418881A (zh) * 2020-11-07 2021-02-26 许尧龙 一种二维码认证打码方法及溯源系统

Similar Documents

Publication Publication Date Title
CN100576196C (zh) 内容加密方法、系统和利用该加密方法通过网络提供内容的方法
KR20060051957A (ko) 암호화 데이터 배포 방법, 암호화 장치, 복호화 장치,암호화 프로그램 및 복호화 프로그램
CN109547198B (zh) 网络传输视频文件的系统
US20080165965A1 (en) Method of two strings private key (symmetric) encryption and decryption algorithm
Gafsi et al. Efficient encryption system for numerical image safe transmission
CN109274644A (zh) 一种数据处理方法、终端和水印服务器
CN110061967A (zh) 业务数据提供方法、装置、设备及计算机可读存储介质
CN103618705A (zh) 开放云平台下一种个人密码管理工具及方法
CN111010266B (zh) 消息的加解密、读写方法、装置、计算机设备和存储介质
CN110378138A (zh) 数据加密、解密方法和神经网络训练方法及设备
CN108809936A (zh) 一种基于混合加密算法的智能移动终端身份验证方法及其实现系统
Tian et al. Pribioauth: Privacy-preserving biometric-based remote user authentication
Achuthshankar et al. A novel symmetric cryptography algorithm for fast and secure encryption
CN109344947A (zh) 二维码的码内容生成方法、二维码生成方法及识别方法
CN107637013B (zh) 密钥交换方法、密钥交换系统、密钥分发装置、通信装置、及记录介质
CN112380404B (zh) 数据过滤方法、装置及系统
CN108334786A (zh) 一种数据加密方法
CN111368271A (zh) 一种基于多重加密的密码管理的实现方法及系统
US12132838B2 (en) Secret code verification protocol
CN116707778A (zh) 数据混合加密传输方法、装置和电子设备
CN114500006B (zh) 查询请求的处理方法及装置
US11743044B2 (en) Password-less authentication using key agreement and multi-party computation (MPC)
CN116094686A (zh) 用于量子卷积计算的同态加密方法、系统、设备及终端
Taka Secure Communication by combined Diffe-Hellman key exchange Based AES Encryption and Arabic Text Steganography.
US20090235085A1 (en) Method and System for Secure Authentication and Data Exchange in Client Server Architecture

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20190215

WD01 Invention patent application deemed withdrawn after publication