CN110046532A - 一卡通二维码生成和读取方法 - Google Patents
一卡通二维码生成和读取方法 Download PDFInfo
- Publication number
- CN110046532A CN110046532A CN201910338679.8A CN201910338679A CN110046532A CN 110046532 A CN110046532 A CN 110046532A CN 201910338679 A CN201910338679 A CN 201910338679A CN 110046532 A CN110046532 A CN 110046532A
- Authority
- CN
- China
- Prior art keywords
- dimensional code
- dynamic
- purpose card
- generation method
- password
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/602—Providing cryptographic facilities or services
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06K—GRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
- G06K19/00—Record carriers for use with machines and with at least a part designed to carry digital markings
- G06K19/06—Record 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/06009—Record 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/06046—Constructional details
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06K—GRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
- G06K7/00—Methods or arrangements for sensing record carriers, e.g. for reading patterns
- G06K7/10—Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation
- G06K7/14—Methods 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/1404—Methods for optical code recognition
- G06K7/1408—Methods for optical code recognition the method being specifically adapted for the type of code
- G06K7/1417—2D bar codes
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Toxicology (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Artificial Intelligence (AREA)
- Electromagnetism (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
技术领域
本发明涉及一种二维码技术,具体涉及一种一卡通二维码生成和读取方法。
背景技术
二维码是用某种特定的几何图形按一定规律在平面(二维方向上)分布的黑白相间的图形记录数据符号信息的;在代码编制上利用构成计算机内部逻辑基础的“0”、“1”比特流的概念,使用若干个与二进制相对应的几何形体来表示文字数值信息,通过图象输入设备或光电扫描设备自动识读以实现信息自动处理。它具有条码技术的一些共性:每种码制有其特定的字符集,每个字符占有一定的宽度,具有一定的校验功能等。同时还具有对不同行的信息自动识别功能、及处理图形旋转变化点。随着移动设备的高速发展,越来越多线下设备通过识别二维码进行身份识别,用户需要进入指定应用的功能入口,才能获得某一个设备能够识别的二维码。随着使用的设备数量增加,用户需要管理更多的二维码。如果功能增加,用户需要花费更多时间打开对应功能页面,使用起来很不方便。
发明内容
针对现有技术中的不足,本发明的目的是提供及一种一卡通二维码生成和读取方法,以减少用户对二维码的管理成本,提高软件使用效率。
本发明的目的是采用下述技术方案实现的:
一卡通二维码生成方法,包括:
获取参数数据;
根据获取的参数数据生成动态二维码;
对所述动态二维码加密,生成一次性动态密码;
根据设定的时间间隔更新密码;
重新获取参数数据,生成新的二维码。
进一步的,所述参数数据的获取方法是利用一卡通向后台发送请求,后台根据用户权限,获取所有参数数据,并发送至相应的业务模块。
进一步的,所述业务模块包括消费支付模块和门禁解锁模块。
进一步的,所述动态二维码同时支持门禁解锁和消费支付的识别。
进一步的,所述动态二维码支持多个设备读取。
进一步的,所述根据参数数据生成动态二维码的具体方法包括:
由业务模块生成二维码的数据段;
聚合各个业务模块的数据段,生成一个多功能的动态二维码。
进一步的,采用分段机制生成二维码的数据段。
进一步的,采用TOTP算法对所述动态二维码加密密钥,生成具有时间戳的一次性动态密码。
进一步的,采用hmac非可逆方式对所述动态二维码加密。
一卡通二维码读取方法,包括:
利用扫码设备扫描二维码;
对二维码进行解码,得到多个数据段;
将所述多个数据段传输到服务器端,提取业务模块相应的数据段并进行身份验证;
由服务器端计算用户ID,并生成多个一次性密码,如果任何一个密码与二维码的一次性密码相同,则通过验证。
与最接近的现有技术相比,本申请提供的技术方案可以包括以下有益效果:
(1)本发明提出使用同一个二维码,同时进行门禁解锁与消费支付等功能。通过包含多个功能的参数及密码,减少用户对二维码的管理成本,提高了使用软件的效率。
(2)用户无需为了展示不同的二维码而切换页面或者软件,节省操作时间和管理成本。
(3)能够快速开发及对接新功能、节约了UI开发成本。
(4)后台能统一的动态控制每个用户的二维码权限。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是一卡通二维码生成方法流程图;
图2是一卡通二维码读取方法流程图;
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将对本发明的技术方案进行详细的描述。显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所得到的所有其它实施方式,都属于本发明所保护的范围。
第一优选技术方案
本发明的一卡通是一种利用同一个二维码,同时实现门禁解锁、消费支付等功能的设备,所述一卡通附带多个功能模块的参数和密码,采用TOTP算法验证身份合法性,所述一卡通的功能模块包括消费支付模块和门禁解锁模块,分别存储用于消费支付和门禁解锁的参数数据。所述一卡通生成的动态二维码可同时支持门禁解锁和消费支付的识别,并且支持多个设备读取。图1是一卡通二维码生成方法流程图,如图1所示,所述方法包括以下步骤:
获取参数数据;
根据获取的参数数据生成动态二维码;
对所述动态二维码加密,生成一次性动态密码;
根据设定的时间间隔更新密码;
重新获取参数数据,生成新的二维码。
具体的,首先由一卡通向后台发送用户请求,后台根据用户权限,收集所有用户所需的参数数据,并发送至一卡通,一卡通将从后台获得的参数数据发送至对应的功能模块,再由功能模块生成二维码的数据段,通过聚合各个功能模块的数据段,汇总生成一个独立的动态二维码。生成的动态二维码需要验证用户身份合法性,因此对所述动态二维码加密,生成一次性动态密码,最后根据设定的时间间隔更新密码,再由功能模块向一卡通发送消息,重新获取参数数据并生成新的二维码,达到动态更新的目的。
具体的,本发明采用分段机制生成二维码的数据段,其中每个功能模块的数据段格式如下所述:
Segment=type(业务类型,1个字节)+length(内容长度,1个字节)+content(内容,最大256个字节)
例如:支付的业务类型为0x1;门禁的业务类型为0x2
以支付业务类型为例,支付业务的Segment由RandomUID(UID,K,C)+TOTP(K,C)组成,则支付业务的数据段表达式如下:
PayQR(UID,K,C)=Type(0x1)+Len(0x11)+RandomUID(UID,K,C)+String(TOTP(K,C))
采用TOTP算法加密密钥key,生成一个8位数字的随机数,计算公式如下:
TOTP(K,C)=Truncate(HMAC-SHA-1(K,C))
用户UID与TOTP(K,C)进行异或运算,生成8位数字RandomUID,计算公式如下:
RandomUID(UID,K,C)=String(UID^TOTP(K,C))
式中,Type为支付业务类型,Len为后面的固定长度0x11,RandomUID为9位数字,TOTP为8位数字。
具体的,本发明采用TOTP算法对所述动态二维码加密密钥,生成具有时间戳的一次性动态密码。TOTP(Time-based One-Time Password)表示基于时间戳算法的一次性密码。是时间同步,基于客户端的动态口令和动态口令验证服务器的时间比对,一般每60秒产生一个新口令,要求客户端和服务器能够十分精确的保持正确的时钟,客户端和服务端基于时间计算的动态口令才能一致。计算TOTP串的公式如下:
TOTP(K,C)=Truncate(HMAC-SHA-1(K,C))
其中,参数C是由时间戳计算的数字,计算公式如下:
C=T/X
式中,T表示当前Unix时间戳,单位为秒(s),X表示时间步数,在设定的时间步数内产生一个动态密码,可根据后台更新步数,一般默认30s。K表示密钥串;HMAC-SHA-1表示使用SHA-1做HMAC,Truncate是ー个函数,用于截取加密后的串,并取加密后串的某个字段组成一个数字。
本发明采用hmac非可逆方式对动态二维码加密,可保证生成的密码不会被其它人反向求解,对HMAC-SHA-1方式加密来说,Truncate函数的截取过程如下:
1.HMAC-SHA-1加密后的长度得到一个20字节的密串;
2.取这个20字节的密串的最后一个字节,取这字节的低4位,作为截取加密串的下标偏移量;
3.按照下标偏移量开始,获取4个字节,按照大端方式组成一个整数;
4.截取这个整数的后6位或者8位转成字符串返回。
采用TOTP算法加密密钥的生成结果带有时间因子,如若在一定时间不使用,则结果自动失效,此外,每个用户的密钥均不同,如若某一个用户密码丢失,不会影响到其它用户。同一个用户每次生成的密钥,与上ー次的密钥也不相同,并且加密结果可保证是定长的数字。密钥准许客户端与服务器存在正负60s的误差(误差范围数值可由后台決定),保证密钥在大多数场景是可使用的。
第二优选技术方案
图2为一卡通二维码读取方法流程图,如图2所示,首先利用二维码读头等扫码设备读取一卡通生成的二维码,对二维码进行解码,获得多个数据段,将所述多个数据段传输到服务器端,在所有数据段中寻找与功能模块相匹配的数据段,提取对应的数据段并进行身份验证,最后由服务器端计算用户ID,并生成多个一次性密码,如果任何一个密码与二维码的一次性密码相同,则通过验证。所述校验的具体过程如下:
1.客户端登录,从服务器端拿到最新的Key。
2.客户端通过Key+UID+T的CARD算法,得到一卡通的表示个人的密码。
3.扫码设备扫到二维码后,把数据传给服务器端验证。
4.服务器端计算出用户ID,计算公式如下:
UID=Integer(Substring(CARD,8)^Integer(Substring(CARD,8,16))
5.服务器端得到用户ID之后,取数据库当中的Key,并且在一定的时间窗口循环生成多个TOTP,如果任何个与客户端提交的TOTP相同,则验证通过。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。
Claims (10)
1.一卡通二维码生成方法,其特征在于,包括:
获取参数数据;
根据获取的参数数据生成动态二维码;
对所述动态二维码加密,生成一次性动态密码;
根据设定的时间间隔更新密码;
重新获取参数数据,生成新的二维码。
2.根据权利要求1所述的一卡通二维码生成方法,其特征在于,所述参数数据的获取方法是利用一卡通向后台发送请求,后台根据用户权限,获取所有参数数据,并发送至相应的业务模块。
3.根据权利要求2所述的一卡通二维码生成方法,其特征在于,所述业务模块包括消费支付模块和门禁解锁模块。
4.根据权利要求1所述的一卡通二维码生成方法,其特征在于,所述动态二维码同时支持门禁解锁和消费支付的识别。
5.根据权利要求1所述的一卡通二维码生成方法,其特征在于,所述动态二维码支持多个设备读取。
6.根据权利要求1所述的一卡通二维码生成方法,其特征在于,所述根据参数数据生成动态二维码的具体方法包括:
由业务模块生成二维码的数据段;
聚合各个业务模块的数据段,生成一个多功能的动态二维码。
7.根据权利要求6所述的一卡通二维码生成方法,其特征在于,采用分段机制生成二维码的数据段。
8.根据权利要求1所述的一卡通二维码生成方法,其特征在于,采用TOTP算法对所述动态二维码加密密钥,生成具有时间戳的一次性动态密码。
9.根据权利要求1所述的一卡通二维码生成方法,其特征在于,采用hmac非可逆方式对所述动态二维码加密。
10.一卡通二维码读取方法,其特征在于,包括:
利用扫码设备扫描二维码;
对二维码进行解码,得到多个数据段;
将所述多个数据段传输到服务器端,提取业务模块相应的数据段并进行身份验证;
由服务器端计算用户ID,并生成多个一次性密码,如果任何一个密码与二维码的一次性密码相同,则通过验证。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910338679.8A CN110046532A (zh) | 2019-04-25 | 2019-04-25 | 一卡通二维码生成和读取方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910338679.8A CN110046532A (zh) | 2019-04-25 | 2019-04-25 | 一卡通二维码生成和读取方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110046532A true CN110046532A (zh) | 2019-07-23 |
Family
ID=67279336
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910338679.8A Pending CN110046532A (zh) | 2019-04-25 | 2019-04-25 | 一卡通二维码生成和读取方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110046532A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111010383A (zh) * | 2019-12-07 | 2020-04-14 | 杭州安恒信息技术股份有限公司 | 一种多因子认证方法 |
CN111147482A (zh) * | 2019-12-25 | 2020-05-12 | 福建福诺移动通信技术有限公司 | 一种基于otp算法的身份识别码生成及校验方法 |
CN111522541A (zh) * | 2020-01-17 | 2020-08-11 | 中国银联股份有限公司 | 一种图形化代码生成方法、装置以及计算机可读存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102542235A (zh) * | 2011-12-09 | 2012-07-04 | 河北广联信息技术有限公司 | 二维码一码多识方法 |
US20170161750A1 (en) * | 2014-08-26 | 2017-06-08 | Tencent Technology (Shenzhen) Company Limited | Identity Authentication Method, Terminal Device And System |
CN108154211A (zh) * | 2017-11-22 | 2018-06-12 | 阿里巴巴集团控股有限公司 | 二维码生成、业务处理方法、装置和设备以及二维码 |
CN108229966A (zh) * | 2018-01-26 | 2018-06-29 | 中国银行股份有限公司 | 一种银行卡交易处理方法、银行卡及银行服务器 |
-
2019
- 2019-04-25 CN CN201910338679.8A patent/CN110046532A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102542235A (zh) * | 2011-12-09 | 2012-07-04 | 河北广联信息技术有限公司 | 二维码一码多识方法 |
US20170161750A1 (en) * | 2014-08-26 | 2017-06-08 | Tencent Technology (Shenzhen) Company Limited | Identity Authentication Method, Terminal Device And System |
CN108154211A (zh) * | 2017-11-22 | 2018-06-12 | 阿里巴巴集团控股有限公司 | 二维码生成、业务处理方法、装置和设备以及二维码 |
CN108229966A (zh) * | 2018-01-26 | 2018-06-29 | 中国银行股份有限公司 | 一种银行卡交易处理方法、银行卡及银行服务器 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111010383A (zh) * | 2019-12-07 | 2020-04-14 | 杭州安恒信息技术股份有限公司 | 一种多因子认证方法 |
CN111147482A (zh) * | 2019-12-25 | 2020-05-12 | 福建福诺移动通信技术有限公司 | 一种基于otp算法的身份识别码生成及校验方法 |
CN111522541A (zh) * | 2020-01-17 | 2020-08-11 | 中国银联股份有限公司 | 一种图形化代码生成方法、装置以及计算机可读存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10681025B2 (en) | Systems and methods for securely managing biometric data | |
Muhal et al. | Physical unclonable function based authentication scheme for smart devices in Internet of Things | |
CA2286707C (en) | Method and system for accessing electronic resources via machine-readable data on intelligent documents | |
EP1866873B1 (en) | Method, system, personal security device and computer program product for cryptographically secured biometric authentication | |
JP3917679B2 (ja) | 低帯域幅暗号モジュールを持つ高帯域幅暗号システム | |
CN110046532A (zh) | 一卡通二维码生成和读取方法 | |
US20060005028A1 (en) | Methods and device for digitally signing data | |
CN1889419B (zh) | 一种实现加密的方法及装置 | |
CN1799018A (zh) | 基于接近令牌单元对应用服务的安全访问 | |
BRPI0722174B1 (pt) | método e sistema para autenticar usuários em um sistema de processamento de dados | |
CN110290134A (zh) | 一种身份认证方法、装置、存储介质及处理器 | |
US20090158049A1 (en) | Building a security access system | |
CN111541713A (zh) | 基于区块链和用户签名的身份认证方法及装置 | |
US20140169567A1 (en) | Method for granting a plurality of electronic communication devices access to a local area network | |
KR100375894B1 (ko) | 암호화 통신 시스템 및 암호화 통신 방법 | |
TWI416922B (zh) | 運用圖像式認證碼的認證系統及其方法 | |
CN114710274A (zh) | 数据调用方法、装置、电子设备及存储介质 | |
CN104715537A (zh) | 一种基于数字标签的加密和解密方法 | |
CN107070666A (zh) | 一种加解密方法及装置 | |
CN113239341B (zh) | 不依赖用户真实特征信息的身份验证方法、设备与系统 | |
CN112231662B (zh) | 一种基于sm2算法的二维码的注册认证方法及系统 | |
JP2003134107A (ja) | 個人認証システム、個人認証方法、及び個人認証プログラム | |
KR20220051510A (ko) | 개인 정보가 포함된 이미지의 보호 장치, 개인 정보가 포함된 이미지의 보호 방법 및 개인 정보가 포함된 이미지의 보호 방법을 수행하기 위하여 매체에 저장된 컴퓨터 프로그램 | |
CN111464553A (zh) | 一种保护生物特征隐私的身份认证装置与认证方法 | |
CN1889420B (zh) | 一种实现加密的方法 |
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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20190723 |
|
RJ01 | Rejection of invention patent application after publication |