CN103366276B - 基于充值码的电子钱包充值方法及系统 - Google Patents
基于充值码的电子钱包充值方法及系统 Download PDFInfo
- Publication number
- CN103366276B CN103366276B CN201310297114.2A CN201310297114A CN103366276B CN 103366276 B CN103366276 B CN 103366276B CN 201310297114 A CN201310297114 A CN 201310297114A CN 103366276 B CN103366276 B CN 103366276B
- Authority
- CN
- China
- Prior art keywords
- code
- money
- charge
- charge code
- random number
- 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.)
- Active
Links
Landscapes
- Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
Abstract
本发明公开了一种基于充值码的电子钱包充值方法及系统,涉及电子钱包充值领域,该方法为:用户将充值金额信息和EPID信息发送到充值码生成服务器端,充值码生成服务器端获取到用户发来的充值金额信息及EPID信息后,将充值金额信息及EPID信息进行转换和加密运算,生成字节码方式的充值码;充值码生成服务器端将字节码方式的充值码转换为数字串方式的充值码,以与用户请求一致的形式,将数字串方式的充值码发送给用户;用户将数字串方式的充值码输入终端设备,完成终端电子钱包的充值。本发明不需要借助无线POS充值,用户根据电子钱包充值码,在相应的电子钱包上完成离线充值,充值过程不需第三方配合。
Description
技术领域
本发明涉及电子钱包充值领域,特别是涉及一种基于充值码的电子钱包充值方法及系统。
背景技术
电子钱包是电子商务购物活动中常用的一种支付工具,尤其适用于小额购物。电子钱包内存放有电子货币,例如电子现金、电子零钱、电子信用卡等。一般在电子钱包服务系统中使用电子钱包进行购物。由于电子钱包在执行充值时,涉及到资金的转移,因此用户必须将电子钱包卡或拥有电子钱包功能的终端设备,拿到指定的充值场所才能进行充值,给用户带来了很大的不便,如果充值点数量较少,充值点覆盖率低,则用户可能会为了简单的充值而劳累一天的行程,同时也给充值点带来了巨大的负荷,更有可能由于用户量过多,而无法满足众多用户的充值需求,目前只有建立大量的实体充值点,投入大量的人力和物力,才能满足不断增长的客户需求。
发明内容
本发明的目的是为了克服上述背景技术的不足,提供一种基于充值码的电子钱包充值方法及系统,不需要借助无线POS进行刷卡充值,终端用户根据电子钱包充值码,在相应的电子钱包上完成离线充值,充值过程不需要第三方进行配合处理。
本发明提供的基于充值码的电子钱包充值方法,包括以下步骤:
S1、用户将充值金额信息和电子钱包唯一标识EPID信息发送到充值码生成服务器端;
S2、充值码生成服务器端获取到用户发来的充值金额信息及电子钱包唯一标识EPID信息后,将充值金额信息及电子钱包唯一标识EPID信息进行一系列的转换和加密运算,生成字节码方式的充值码;
所述充值码由随机效验码和充值信令组成,随机效验码为明文,充值信令为密文,系统采用十六进制数HEX转二-十进制代码BCD码方式,将字节码数据转换为用户可输入的数字串,随机效验码为5位数字码,充值信令为20位数字码;充值信令由充值信令头和消息认证码MAC组成,充值信令头由充值流水号、充值方式、充值金额组成,充值流水号由地址码和地址序列组成,地址码的取数区间为0~2047,地址序列的取值范围为2N,N=【0,1,2,3,4,5,6,7】;生成充值码时,如果检验到上次对应的地址序列为2N,N=7,则将对应的地址码数字做加1处理,然后,将地址序列的取值等于2N,N=0;否则,只需将地址序列的数据左移1位,即将地址序列的取值乘以2;充值流水号用于避免用户重复充值,充值方式用于描述充值码的生成源方式,充值金额为该充值码对应的金额,单位为元,消息认证码MAC由电子钱包唯一标识EPID信息、充值码流水号、充值方式和充值金额组合计算得到,消息认证码MAC用于避免同一充值码在多个不同电子钱包上进行充值;
充值码生成服务器端随机生成两字节的原始随机数据RS,原始随机数据RS与8字节的电子钱包唯一标识EPID信息进行同或操作,得到同或处理结果:数据A;原始随机数据RS与8字节的电子钱包唯一标识EPID信息进行异或操作,得到异或处理结果:数据B;将数据A、B组合,数据A放高位,数据B放低位,得到16字节长度的随机数最终值RD,该随机数最终值RD用来生成消息认证码MAC过程密钥及充值过程密钥;
消息认证码MAC的计算流程如下:随机数最终值RD为消息认证码MAC过程密钥源数据,原始随机数据RS与密钥组个数N进行取模运算,得到随机数索引RIDX的数值,作为密钥组索引的值,充值码生成服务器端将随机数最终值RD、随机数索引RIDX、电子钱包唯一标识EPID、充值信令头信息传递给加密机,加密机根据随机数索引RIDX及预定的加密组版本号获取消息认证码MAC密钥,然后根据消息认证码MAC密钥与随机数最终值RD计算得到16字节的消息认证码MAC过程密钥MSEC;加密机采用三重数据加密算法Tri-DES算法,对MSEC和消息认证码MAC源数据进行计算,消息认证码MAC源数据为充值信令头+电子钱包唯一标识EPID信息,最终生成与电子钱包唯一标识EPID信息对应的消息认证码MAC;
对充值码进行加密的流程如下:随机数最终值RD为加密过程密钥源数据,原始随机数据RS与密钥组个数N进行取模运算,得到随机数索引RIDX的数值,作为密钥组索引的值,充值码生成服务器端将随机数最终值RD、随机数索引RIDX、电子钱包唯一标识EPID信息、充值信令头、消息认证码MAC信息传递给加密机,加密机根据随机数索引RIDX及预定的加密组版本号获取圈存密钥,然后根据圈存密钥与随机数最终值RD,计算得到16字节的充值过程密钥RSEC;加密机采用三重数据加密算法Tri-DES算法,对充值过程密钥RSEC和充值码源数据进行计算,充值码源数据为充值信令头+消息认证码MAC,最终生成与电子钱包唯一标识EPID信息对应的加密充值码;
S3、充值码生成服务器端将字节码方式的充值码转换为数字串方式的充值码,最终以与用户请求一致的形式,将数字串方式的充值码发送给用户:充值码生成服务器端接收到加密机生成的加密充值码后,调用HEX转BCD方式,生成20位BCD方式的充值信令;将预先生成的原始随机数据RS经过HEX转BCD方式,生成5位BCD方式的效验码;
S4、用户将充值码生成服务器端发来的数字串方式的充值码输入终端设备,完成终端电子钱包的充值。
在上述技术方案的基础上,步骤S2中所述消息认证码MAC的计算过程中,在进行Tri_DES操作前,确保消息认证码MAC源数据为8的整数倍字节。
在上述技术方案的基础上,如果提供的消息认证码MAC源数据不满足条件,则在高字节的地方,以0x00的方式补齐数据。
在上述技术方案的基础上,步骤S2中所述对充值码进行加密的过程中,在进行Tri_DES操作前,确保充值码源数据为8的整数倍字节。
在上述技术方案的基础上,如果提供的充值码源数据不满足条件,则在高字节的地方,以0x00的方式补齐数据。
本发明还提供一种基于充值码的电子钱包充值系统,包括充值码生成服务器端,用户将充值金额信息和电子钱包唯一标识EPID信息发送到充值码生成服务器端,充值码生成服务器端获取到用户发来的充值金额信息及电子钱包唯一标识EPID信息后,将充值金额信息及电子钱包唯一标识EPID信息进行一系列的转换和加密运算,生成字节码方式的充值码;所述充值码由随机效验码和充值信令组成,随机效验码为明文,充值信令为密文,系统采用十六进制数HEX转二-十进制代码BCD码方式,将字节码数据转换为用户可输入的数字串,随机效验码为5位数字码,充值信令为20位数字码;充值信令由充值信令头和消息认证码MAC组成,充值信令头由充值流水号、充值方式、充值金额组成,充值流水号由地址码和地址序列组成,地址码的取数区间为0~2047,地址序列的取值范围为2N,N=【0,1,2,3,4,5,6,7】;生成充值码时,如果检验到上次对应的地址序列为2N,N=7,则将对应的地址码数字做加1处理,然后,将地址序列的取值等于2N,N=0;否则,只需将地址序列的数据左移1位,即将地址序列的取值乘以2;充值流水号用于避免用户重复充值,充值方式用于描述充值码的生成源方式,充值金额为该充值码对应的金额,单位为元,消息认证码MAC由电子钱包唯一标识EPID信息、充值码流水号、充值方式和充值金额组合计算得到,消息认证码MAC用于避免同一充值码在多个不同电子钱包上进行充值;
充值码生成服务器端随机生成两字节的原始随机数据RS,原始随机数据RS与8字节的电子钱包唯一标识EPID信息进行同或操作,得到同或处理结果:数据A;原始随机数据RS与8字节的电子钱包唯一标识EPID信息进行异或操作,得到异或处理结果:数据B;将数据A、B组合,数据A放高位,数据B放低位,得到16字节长度的随机数最终值RD,该随机数最终值RD用来生成消息认证码MAC过程密钥及充值过程密钥;
消息认证码MAC的计算流程如下:随机数最终值RD为消息认证码MAC过程密钥源数据,原始随机数据RS与密钥组个数N进行取模运算,得到随机数索引RIDX的数值,作为密钥组索引的值,充值码生成服务器端将随机数最终值RD、随机数索引RIDX、电子钱包唯一标识EPID、充值信令头信息传递给加密机,加密机根据随机数索引RIDX及预定的加密组版本号获取消息认证码MAC密钥,然后根据消息认证码MAC密钥与随机数最终值RD计算得到16字节的消息认证码MAC过程密钥MSEC;加密机采用三重数据加密算法Tri-DES算法,对MSEC和消息认证码MAC源数据进行计算,消息认证码MAC源数据为充值信令头+电子钱包唯一标识EPID信息,最终生成与电子钱包唯一标识EPID信息对应的消息认证码MAC;
对充值码进行加密的流程如下:随机数最终值RD为加密过程密钥源数据,原始随机数据RS与密钥组个数N进行取模运算,得到随机数索引RIDX的数值,作为密钥组索引的值,充值码生成服务器端将随机数最终值RD、随机数索引RIDX、电子钱包唯一标识EPID信息、充值信令头、消息认证码MAC信息传递给加密机,加密机根据随机数索引RIDX及预定的加密组版本号获取圈存密钥,然后根据圈存密钥与随机数最终值RD,计算得到16字节的充值过程密钥RSEC;加密机采用三重数据加密算法Tri-DES算法,对充值过程密钥RSEC和充值码源数据进行计算,充值码源数据为充值信令头+消息认证码MAC,最终生成与电子钱包唯一标识EPID信息对应的加密充值码;
充值码生成服务器端将字节码方式的充值码转换为数字串方式的充值码,最终以与用户请求一致的形式,将数字串方式的充值码发送给用户:充值码生成服务器端接收到加密机生成的加密充值码后,调用HEX转BCD方式,生成20位BCD方式的充值信令;将预先生成的原始随机数据RS经过HEX转BCD方式,生成5位BCD方式的效验码;用户将充值码生成服务器端发来的数字串方式的充值码输入终端设备,完成终端电子钱包的充值。
在上述技术方案的基础上,所述消息认证码MAC的计算过程中,在进行Tri_DES操作前,确保消息认证码MAC源数据为8的整数倍字节。
在上述技术方案的基础上,如果提供的消息认证码MAC源数据不满足条件,则在高字节的地方,以0x00的方式补齐数据。
在上述技术方案的基础上,所述对充值码进行加密的过程中,在进行Tri_DES操作前,确保充值码源数据为8的整数倍字节。
在上述技术方案的基础上,如果提供的充值码源数据不满足条件,则在高字节的地方,以0x00的方式补齐数据。
与现有技术相比,本发明的优点如下:
(1)本发明提供的电子钱包充值方法及系统,不需要借助无线POS进行刷卡充值,用户可以通过购买充值卡方式、营业厅业务办理方式、个人中心办理方式、手机电话方式等多种途径,获取电子钱包充值码,终端用户根据电子钱包充值码,在相应的电子钱包上完成离线充值,充值过程不需要第三方进行配合处理,无需建立大量的实体充值点,能够节省人力和物力。
(2)本发明的电子钱包充值过程中涉及的信息量大,数据的安全级别高,因此在生成充值码时,在检验待充值的钱包ID的正确性、充值信息的有效性、充值卡有效性之后,结合加密机及电子钱包充值历史信息,生成消息认证码和充值码密文信息,以防止充值卡的一卡多用,电子钱包的恶意充值等情况的发生,系统采用随机数的方式,有效保证充值码的有效性、安全性及可靠性。
(3)本发明在系统中维护充值码的相关信息和个人电子钱包的充值信息,以方便日后追溯。
附图说明
图1是本发明实施例中基于充值码的电子钱包充值方法的流程图。
图2是本发明实施例中充值码的结构框图。
图3是本发明实施例中生成随机数的流程图。
图4是本发明实施例中消息认证码MAC的计算流程图。
图5是本发明实施例中对充值码进行加密的流程图。
具体实施方式
下面结合附图及具体实施例对本发明作进一步的详细描述。
本发明实施例提供一种基于充值码的电子钱包充值系统,包括充值码生成服务器端。
参见图1所示,本发明实施例提供一种基于充值码的电子钱包充值方法,包括以下步骤:
S1、用户可以通过各种不同的方式,例如:短信方式,电话方式,web方式等,将充值金额信息和EPID(ElectronicPurseIdentity,电子钱包唯一标识)信息发送到充值码生成服务器端,即电子钱包服务器端;
S2、充值码生成服务器端获取到用户发来的充值金额信息及电子钱包唯一标识EPID信息后,将充值金额信息及电子钱包唯一标识EPID信息进行一系列的转换和加密运算,生成字节码方式的充值码;
S3、充值码生成服务器端将字节码方式的充值码转换为数字串方式的充值码,最终以与用户请求一致的形式,将数字串方式的充值码发送给用户;考虑到充值码的使用场景为各种不同终端,由于目前大部分终端仅采用数字键盘方式,即只包括0~9几个简单字符,因此充值码采用数字码方式告知用户,使其能在不同终端输入该充值码;
S4、用户将充值码生成服务器端发来的数字串方式的充值码输入终端设备,完成终端电子钱包的充值。
参见图2所示,充值码由随机效验码和充值信令组成,随机效验码为明文,充值信令为密文,系统采用HEX(HEXadecimal,十六进制数)转BCD码(Binary-CodedDecimal,二-十进制代码)方式,将字节码数据转换为用户可输入的数字串,随机效验码为5位数字码,充值信令为20位数字码;充值信令由充值信令头和MAC(MessageAuthenticationCode,消息认证码)消息认证码组成,充值信令头由充值流水号、充值方式、充值金额组成,充值流水号由地址码和地址序列组成,地址码的取数区间为0~2047,地址序列的取值范围为2N,N=【0,1,2,3,4,5,6,7】。生成充值码时,如果检验到上次对应的地址序列为2N,N=7,则将对应的地址码数字做加1处理,然后,将地址序列的取值等于2N,N=0;否则,只需将地址序列的数据左移1位,即将地址序列的取值乘以2。充值流水号用于避免用户重复充值,充值方式用于描述充值码的生成源方式,充值金额为该充值码对应的金额,单位为元,消息认证码MAC由电子钱包唯一标识EPID信息、充值码流水号、充值方式和充值金额组合计算得到,具体计算方式参见图4所示。消息认证码MAC用于避免同一充值码在多个不同电子钱包上进行充值。
参见图3所示,充值码生成服务器端随机生成两字节的RS(RandomSource,原始随机数据),原始随机数据RS与8字节的电子钱包唯一标识EPID信息进行同或操作,得到同或处理结果:数据A;原始随机数据RS与8字节的电子钱包唯一标识EPID信息进行异或操作,得到异或处理结果:数据B;将数据A、B组合,数据A放高位,数据B放低位,得到16字节长度的RD(Result-RandomData,随机数最终值),该随机数最终值RD用来生成消息认证码MAC过程密钥及充值过程密钥。
参见图4所示,消息认证码MAC的计算流程如下:随机数最终值RD为消息认证码MAC过程密钥源数据,原始随机数据RS与密钥组个数N进行取模运算,得到数值RIDX(RandomIndex,随机数索引),作为密钥组索引的值,充值码生成服务器端将随机数最终值RD、随机数索引RIDX、电子钱包唯一标识EPID、充值信令头(充值流水号,充值方式及充值金额)信息传递给加密机,加密机根据随机数索引RIDX及预定的加密组版本号获取消息认证码MAC密钥,然后根据消息认证码MAC密钥与随机数最终值RD计算得到16字节的消息认证码MAC过程密钥MSEC(MessageAuthenticationCodeSessionKey,消息认证码过程密钥);加密机采用Tri-DES(TripleDataEncryptionStandard,三重数据加密算法)算法,对MSEC和消息认证码MAC源数据(充值信令头+电子钱包唯一标识EPID信息)进行计算,最终生成与电子钱包唯一标识EPID信息对应的消息认证码MAC。在进行Tri_DES操作前,需要确保消息认证码MAC源数据(充值信令头+电子钱包唯一标识EPID信息)为8的整数倍字节,如果提供的消息认证码MAC源数据不满足条件,则需要在高字节的地方,以0x00的方式补齐数据。
参见图5所示,对充值码进行加密的流程如下:随机数最终值RD为加密过程密钥源数据,原始随机数据RS与密钥组个数N进行取模运算,得到随机数索引RIDX的数值,作为密钥组索引的值,充值码生成服务器端将随机数最终值RD、随机数索引RIDX、电子钱包唯一标识EPID信息、充值信令头(充值流水号,充值方式及充值金额)、消息认证码MAC信息传递给加密机,加密机根据随机数索引RIDX及预定的加密组版本号获取圈存密钥,然后根据圈存密钥与随机数最终值RD,计算得到16字节的RSEC(RechargeSessionKey,充值过程密钥);加密机采用Tri-DES算法,对充值过程密钥RSEC和充值码源数据(充值信令头+消息认证码MAC)进行计算,最终生成与电子钱包唯一标识EPID信息对应的加密充值码。在进行Tri_DES操作前,需要确保充值码源数据(充值信令头+消息认证码MAC)为8的整数倍字节,如果提供的充值码源数据不满足条件,则需要在高字节的地方,以0x00的方式补齐数据。
充值码生成服务器端接收到加密机生成的加密充值码后,调用HEX转BCD方式,生成20位BCD方式的充值信令;将预先生成的原始随机数据RS经过HEX转BCD方式,生成5位BCD方式的效验码。
本领域的技术人员可以对本发明实施例进行各种修改和变型,倘若这些修改和变型属在本发明权利要求及其等同技术的范围之内,则这些修改和变型也在本发明的保护范围之内。
说明书中未详细描述的内容为本领域技术人员公知的现有技术。
Claims (10)
1.一种基于充值码的电子钱包充值方法,其特征在于,包括以下步骤:
S1、用户将充值金额信息和电子钱包唯一标识EPID信息发送到充值码生成服务器端;
S2、充值码生成服务器端获取到用户发来的充值金额信息及电子钱包唯一标识EPID信息后,将充值金额信息及电子钱包唯一标识EPID信息进行一系列的转换和加密运算,生成字节码方式的充值码;
所述充值码由随机效验码和充值信令组成,随机效验码为明文,充值信令为密文,系统采用十六进制数HEX转二-十进制代码BCD码方式,将字节码数据转换为用户可输入的数字串,随机效验码为5位数字码,充值信令为20位数字码;充值信令由充值信令头和消息认证码MAC组成,充值信令头由充值流水号、充值方式、充值金额组成,充值流水号由地址码和地址序列组成,地址码的取数区间为0~2047,地址序列的取值范围为2N,N=【0,1,2,3,4,5,6,7】;生成充值码时,如果检验到上次对应的地址序列为2N,N=7,则将对应的地址码数字做加1处理,然后,将地址序列的取值等于2N,N=0;否则,只需将地址序列的数据左移1位,即将地址序列的取值乘以2;充值流水号用于避免用户重复充值,充值方式用于描述充值码的生成源方式,充值金额为该充值码对应的金额,单位为元,消息认证码MAC由电子钱包唯一标识EPID信息、充值码流水号、充值方式和充值金额组合计算得到,消息认证码MAC用于避免同一充值码在多个不同电子钱包上进行充值;
充值码生成服务器端随机生成两字节的原始随机数据RS,原始随机数据RS与8字节的电子钱包唯一标识EPID信息进行同或操作,得到同或处理结果:数据A;原始随机数据RS与8字节的电子钱包唯一标识EPID信息进行异或操作,得到异或处理结果:数据B;将数据A、B组合,数据A放高位,数据B放低位,得到16字节长度的随机数最终值RD,该随机数最终值RD用来生成消息认证码MAC过程密钥及充值过程密钥;
消息认证码MAC的计算流程如下:随机数最终值RD为消息认证码MAC过程密钥源数据,原始随机数据RS与密钥组个数N进行取模运算,得到随机数索引RIDX的数值,作为密钥组索引的值,充值码生成服务器端将随机数最终值RD、随机数索引RIDX、电子钱包唯一标识EPID、充值信令头信息传递给加密机,加密机根据随机数索引RIDX及预定的加密组版本号获取消息认证码MAC密钥,然后根据消息认证码MAC密钥与随机数最终值RD计算得到16字节的消息认证码MAC过程密钥MSEC;加密机采用三重数据加密算法Tri-DES算法,对MSEC和消息认证码MAC源数据进行计算,消息认证码MAC源数据为充值信令头+电子钱包唯一标识EPID信息,最终生成与电子钱包唯一标识EPID信息对应的消息认证码MAC;
对充值码进行加密的流程如下:随机数最终值RD为加密过程密钥源数据,原始随机数据RS与密钥组个数N进行取模运算,得到随机数索引RIDX的数值,作为密钥组索引的值,充值码生成服务器端将随机数最终值RD、随机数索引RIDX、电子钱包唯一标识EPID信息、充值信令头、消息认证码MAC信息传递给加密机,加密机根据随机数索引RIDX及预定的加密组版本号获取圈存密钥,然后根据圈存密钥与随机数最终值RD,计算得到16字节的充值过程密钥RSEC;加密机采用三重数据加密算法Tri-DES算法,对充值过程密钥RSEC和充值码源数据进行计算,充值码源数据为充值信令头+消息认证码MAC,最终生成与电子钱包唯一标识EPID信息对应的加密充值码;
S3、充值码生成服务器端将字节码方式的充值码转换为数字串方式的充值码,最终以与用户请求一致的形式,将数字串方式的充值码发送给用户:充值码生成服务器端接收到加密机生成的加密充值码后,调用HEX转BCD方式,生成20位BCD方式的充值信令;将预先生成的原始随机数据RS经过HEX转BCD方式,生成5位BCD方式的效验码;
S4、用户将充值码生成服务器端发来的数字串方式的充值码输入终端设备,完成终端电子钱包的充值。
2.如权利要求1所述的基于充值码的电子钱包充值方法,其特征在于:步骤S2中所述消息认证码MAC的计算过程中,在进行Tri_DES操作前,确保消息认证码MAC源数据为8的整数倍字节。
3.如权利要求2所述的基于充值码的电子钱包充值方法,其特征在于:如果提供的消息认证码MAC源数据不满足条件,则在高字节的地方,以0x00的方式补齐数据。
4.如权利要求1或2或3所述的基于充值码的电子钱包充值方法,其特征在于:步骤S2中所述对充值码进行加密的过程中,在进行Tri_DES操作前,确保充值码源数据为8的整数倍字节。
5.如权利要求4所述的基于充值码的电子钱包充值方法及系统,其特征在于:如果提供的充值码源数据不满足条件,则在高字节的地方,以0x00的方式补齐数据。
6.一种基于充值码的电子钱包充值系统,包括充值码生成服务器端,其特征在于:用户将充值金额信息和电子钱包唯一标识EPID信息发送到充值码生成服务器端,充值码生成服务器端获取到用户发来的充值金额信息及电子钱包唯一标识EPID信息后,将充值金额信息及电子钱包唯一标识EPID信息进行一系列的转换和加密运算,生成字节码方式的充值码;所述充值码由随机效验码和充值信令组成,随机效验码为明文,充值信令为密文,系统采用十六进制数HEX转二-十进制代码BCD码方式,将字节码数据转换为用户可输入的数字串,随机效验码为5位数字码,充值信令为20位数字码;充值信令由充值信令头和消息认证码MAC组成,充值信令头由充值流水号、充值方式、充值金额组成,充值流水号由地址码和地址序列组成,地址码的取数区间为0~2047,地址序列的取值范围为2N,N=【0,1,2,3,4,5,6,7】;生成充值码时,如果检验到上次对应的地址序列为2N,N=7,则将对应的地址码数字做加1处理,然后,将地址序列的取值等于2N,N=0;否则,只需将地址序列的数据左移1位,即将地址序列的取值乘以2;充值流水号用于避免用户重复充值,充值方式用于描述充值码的生成源方式,充值金额为该充值码对应的金额,单位为元,消息认证码MAC由电子钱包唯一标识EPID信息、充值码流水号、充值方式和充值金额组合计算得到,消息认证码MAC用于避免同一充值码在多个不同电子钱包上进行充值;
充值码生成服务器端随机生成两字节的原始随机数据RS,原始随机数据RS与8字节的电子钱包唯一标识EPID信息进行同或操作,得到同或处理结果:数据A;原始随机数据RS与8字节的电子钱包唯一标识EPID信息进行异或操作,得到异或处理结果:数据B;将数据A、B组合,数据A放高位,数据B放低位,得到16字节长度的随机数最终值RD,该随机数最终值RD用来生成消息认证码MAC过程密钥及充值过程密钥;
消息认证码MAC的计算流程如下:随机数最终值RD为消息认证码MAC过程密钥源数据,原始随机数据RS与密钥组个数N进行取模运算,得到随机数索引RIDX的数值,作为密钥组索引的值,充值码生成服务器端将随机数最终值RD、随机数索引RIDX、电子钱包唯一标识EPID、充值信令头信息传递给加密机,加密机根据随机数索引RIDX及预定的加密组版本号获取消息认证码MAC密钥,然后根据消息认证码MAC密钥与随机数最终值RD计算得到16字节的消息认证码MAC过程密钥MSEC;加密机采用三重数据加密算法Tri-DES算法,对MSEC和消息认证码MAC源数据进行计算,消息认证码MAC源数据为充值信令头+电子钱包唯一标识EPID信息,最终生成与电子钱包唯一标识EPID信息对应的消息认证码MAC;
对充值码进行加密的流程如下:随机数最终值RD为加密过程密钥源数据,原始随机数据RS与密钥组个数N进行取模运算,得到随机数索引RIDX的数值,作为密钥组索引的值,充值码生成服务器端将随机数最终值RD、随机数索引RIDX、电子钱包唯一标识EPID信息、充值信令头、消息认证码MAC信息传递给加密机,加密机根据随机数索引RIDX及预定的加密组版本号获取圈存密钥,然后根据圈存密钥与随机数最终值RD,计算得到16字节的充值过程密钥RSEC;加密机采用三重数据加密算法Tri-DES算法,对充值过程密钥RSEC和充值码源数据进行计算,充值码源数据为充值信令头+消息认证码MAC,最终生成与电子钱包唯一标识EPID信息对应的加密充值码;
充值码生成服务器端将字节码方式的充值码转换为数字串方式的充值码,最终以与用户请求一致的形式,将数字串方式的充值码发送给用户:充值码生成服务器端接收到加密机生成的加密充值码后,调用HEX转BCD方式,生成20位BCD方式的充值信令;将预先生成的原始随机数据RS经过HEX转BCD方式,生成5位BCD方式的效验码;用户将充值码生成服务器端发来的数字串方式的充值码输入终端设备,完成终端电子钱包的充值。
7.如权利要求6所述的基于充值码的电子钱包充值系统,其特征在于:所述消息认证码MAC的计算过程中,在进行Tri_DES操作前,确保消息认证码MAC源数据为8的整数倍字节。
8.如权利要求7所述的基于充值码的电子钱包充值系统,其特征在于:如果提供的消息认证码MAC源数据不满足条件,则在高字节的地方,以0x00的方式补齐数据。
9.如权利要求6或7或8所述的基于充值码的电子钱包充值系统,其特征在于:所述对充值码进行加密的过程中,在进行Tri_DES操作前,确保充值码源数据为8的整数倍字节。
10.如权利要求9所述的基于充值码的电子钱包充值系统,其特征在于:如果提供的充值码源数据不满足条件,则在高字节的地方,以0x00的方式补齐数据。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310297114.2A CN103366276B (zh) | 2013-07-15 | 2013-07-15 | 基于充值码的电子钱包充值方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310297114.2A CN103366276B (zh) | 2013-07-15 | 2013-07-15 | 基于充值码的电子钱包充值方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103366276A CN103366276A (zh) | 2013-10-23 |
CN103366276B true CN103366276B (zh) | 2016-05-18 |
Family
ID=49367565
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310297114.2A Active CN103366276B (zh) | 2013-07-15 | 2013-07-15 | 基于充值码的电子钱包充值方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103366276B (zh) |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103345683A (zh) * | 2013-07-15 | 2013-10-09 | 武汉天喻信息产业股份有限公司 | 基于电子钱包的离线充值方法及系统 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20050064119A (ko) * | 2003-12-23 | 2005-06-29 | 한국전자통신연구원 | 인터넷접속을 위한 확장인증프로토콜 인증시 단말에서의서버인증서 유효성 검증 방법 |
-
2013
- 2013-07-15 CN CN201310297114.2A patent/CN103366276B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103345683A (zh) * | 2013-07-15 | 2013-10-09 | 武汉天喻信息产业股份有限公司 | 基于电子钱包的离线充值方法及系统 |
Non-Patent Citations (1)
Title |
---|
IC卡电子钱包充值问题;陈燕;《中国信用卡》;20020630(第6期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN103366276A (zh) | 2013-10-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103714458B (zh) | 基于二维码的移动终端交易加密方法 | |
US20170011395A1 (en) | Multi-path communication of electronic device secure element data for online payments | |
US20140297539A1 (en) | Dongle device with rechargeable power supply for a secure electronic transaction | |
CN107077670A (zh) | 交易消息发送 | |
CN106327723B (zh) | 一种基于智能平台的mPOS交易系统 | |
CN104636777B (zh) | 身份证信息获取系统 | |
CN103020682B (zh) | 图书二维码标识生成装置、二维码标识识别装置及系统 | |
CN107707347A (zh) | 用户密钥的备份方法及装置、用户密钥的导入方法及装置 | |
CN102867366A (zh) | 一种便携式银行卡数据处理装置、系统及方法 | |
CN105915629A (zh) | 一种充表方法、终端及智能表 | |
CN202103743U (zh) | 一种实现充值业务的系统和读卡器 | |
CN104954521A (zh) | Pos终端与手机一体化的设备电路结构 | |
CN104504563A (zh) | 一种移动信息安全设备及其工作方法 | |
CN106911476A (zh) | 一种加解密装置及方法 | |
CN103345683B (zh) | 基于电子钱包的离线充值方法及系统 | |
CN104715365A (zh) | 一种基于蓝牙传输通道实现电子钱包空中圈存的方法 | |
CN110910109B (zh) | 基于区块链的电子资源转移方法及装置 | |
CN104240077B (zh) | 一种基于短距离无线通信技术的编码加密器 | |
CN102263792A (zh) | 无线安全密钥设备、电子商务业务系统及方法 | |
CN106533619B (zh) | 基于云平台的分布式二代身份证管理系统 | |
CN107038824A (zh) | 一种pos终端处理方法及pos机 | |
CN111862470A (zh) | 一种基于ic卡的一对多虚拟读卡方法及虚拟读卡器 | |
CN103366276B (zh) | 基于充值码的电子钱包充值方法及系统 | |
CN207070088U (zh) | 一种身份证云识别认证系统 | |
CN1614620A (zh) | 一种便携式读卡器及其读卡方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |