支付处理方法、装置、终端设备及存储介质与流程

文档序号:31862202发布日期:2022-10-19 05:48阅读:60来源:国知局
支付处理方法、装置、终端设备及存储介质与流程

1.本技术涉及支付技术领域,具体涉及一种支付处理方法、装置、终端设备及存储介质。


背景技术:

2.统一支付接口(unify payment interface,upi)是一种在印度越来越受欢迎的支付方式。upi对于数据传输与检验安全要求比较高。目前,存在一种利用偏移量进行安全校验的方式。每次发新版本时,需要人工在后台录入新版本的偏移量。如果忘记录入,则新版本会产生安全校验失败的问题,支付处理的便捷度较低。


技术实现要素:

3.本技术实施例提供一种支付处理方法、装置、终端设备及存储介质,可以提高支付处理的便捷度。
4.本技术实施例的第一方面提供了一种支付处理方法,包括:
5.基于特征信息生成用户特征码,所述特征信息包括:用户标识和固定偏移量;
6.通过所述用户特征码对支付数据进行加密,得到加密后的支付数据;
7.向服务器传输所述加密后的支付数据。
8.本技术实施例的第二方面提供了一种支付处理方法,包括:
9.接收来自终端设备的加密后的支付数据;
10.基于特征信息生成用户特征码,所述特征信息包括:用户标识和固定偏移量;
11.通过所述用户特征码对所述加密后的支付数据进行解密。
12.本技术实施例的第三方面提供了一种支付处理装置,包括:
13.第一生成单元,用于基于特征信息生成用户特征码,所述特征信息包括:用户标识和固定偏移量;
14.加密单元,用于通过所述用户特征码对支付数据进行加密,得到加密后的支付数据;
15.传输单元,用于向服务器传输所述加密后的支付数据。
16.本技术实施例的第四方面提供了一种支付处理装置,包括:
17.接收单元,用于接收来自终端设备的加密后的支付数据;
18.第二生成单元,用于基于特征信息生成用户特征码,所述特征信息包括:用户标识和固定偏移量;
19.解密单元,用于通过所述用户特征码对所述加密后的支付数据进行解密。
20.本技术实施例的第五方面提供了一种终端设备,包括处理器和存储器,所述存储器用于存储计算机程序或指令,所述处理器被配置用于调用所述计算机程序或指令,执行如本技术实施例第一方面中的步骤指令。
21.本技术实施例的第六方面提供了一种服务器,包括处理器和存储器,所述存储器
用于存储计算机程序或指令,所述处理器被配置用于调用所述计算机程序或指令,执行如本技术实施例第二方面中的步骤指令。
22.本技术实施例的第七方面提供了一种计算机可读存储介质,其中,上述计算机可读存储介质存储用于电子数据交换的计算机程序,所述计算机程序包括程序指令,所述程序指令当被处理器执行时使所述处理器执行如本技术实施例第一方面或第二方面中的步骤指令。
23.本技术实施例的第八方面提供了一种计算机程序产品,其中,所述计算机可读存储介质存储有计算机程序或指令,所述计算机程序或指令当被处理器执行时使所述处理器执行如本技术实施例第一方面或第二方面中的步骤指令。
24.本技术实施例中,基于特征信息生成用户特征码,所述特征信息包括:用户标识和固定偏移量;通过所述用户特征码对支付数据进行加密,得到加密后的支付数据;向服务器传输所述加密后的支付数据。用户特征码基于固定偏移量和用户标识生成,由于固定偏移量在版本更新的过程中不会发生变化,每次版本更新无需人工在后台录入新版本的偏移量,从而提高支付处理的便捷度。
附图说明
25.为了更清楚地说明本技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
26.图1是本技术实施例提供的一种支付处理系统的架构示意图;
27.图2是本技术实施例提供的一种终端设备的软硬件系统的架构示意图;
28.图3是本技术实施例提供的一种支付处理方法的流程示意图;
29.图4是本技术实施例提供的另一种支付处理方法的流程示意图;
30.图5是本技术实施例提供的另一种支付处理方法的流程示意图;
31.图6是本技术实施例提供的另一种支付处理方法的流程示意图;
32.图7是本技术实施例提供的一种支付处理装置的结构示意图;
33.图8是本技术实施例提供的另一种支付处理装置的结构示意图;
34.图9是本技术实施例提供的一种终端设备的结构示意图;
35.图10是本技术实施例提供的一种服务器的结构示意图。
具体实施方式
36.下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
37.本技术的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别不同对象,而不是用于描述特定顺序。此外,术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没
有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其他步骤或单元。
38.在本技术中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本技术的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本技术所描述的实施例可以与其它实施例相结合。
39.请参阅图1,图1是本技术实施例提供的一种支付处理系统的架构示意图。如图1所示,支付处理系统10包括终端设备110和服务器120。其中,终端设备110和服务器120之间可以通过无线网络或有线数据相互通信连接。
40.需要说明的是,该无线网络可以包括移动蜂窝网络(如第四代4g或第五代5g移动通信网络等)、卫星通信网络、物联网、车联网、无线局域网(wireless local area network,wlan)、广域网(wide area network,wan)、蓝牙(bluetooth,bt)、无线保真(wireless fidelity,wi-fi)、紫蜂(zigbee)、近距离无线通信(near field communication,nfc)、超宽带(ultra wide band,uwb)、可见光通信(light fidelity,lifi)、红外技术(infrared,ir)等。
41.该有线网络可以是通过串行传输接口数据线、异步传输接口(如rs-232)数据线、通用串行总线(universal serial bus,usb)数据线等数据线、金属导线、光纤、电缆、光缆等构建的网络。
42.该支付处理系统可以是b/s架构的支付管理平台,可以是c/s架构的支付管理平台,对此不作具体限制。
43.在本技术实施例中,用户的移动支付需要是通过终端设备来是实现。其中,终端设备可以针对用户所需支付的业务类型生成一定的支付数据,以便完成本次交易。同时,服务器可以对这些支付数据进行相应的鉴权处理等,并将相应的鉴权结果反馈给终端设备,从而实现完成本次交易,以及保证支付处理的安全性。本技术实施例中出现的“鉴权”可以与“校验”、“验证”、“检验”等表达为同一个概念,对此不作具体限制。
44.另外,支付处理系统10还可以包括其他数量的终端设备和其他数量的服务器,对此不作具体限定。
45.下面分别对本技术实施例的终端设备和服务器进行具体说明。
46.本技术实施例的终端设备是具备支付功能的终端。可以是手持设备、车载设备、可穿戴设备、增强现实(augmented reality,ar)设备、虚拟现实(virtual reality,vr)设备、投影设备、投影仪或者连接到无线调制解调器的其他设备,也可以是各种具体形式的用户设备(user equipment,ue)、终端设备(terminal device)、终端、移动终端、手机(smart phone)、智慧屏、智慧电视、智能手表、笔记本电脑、智能音响、摄像头、游戏手柄、麦克风、站点(station,sta)、接入点(access point,ap)、移动台(mobile station,ms)、个人数字助理(personal digital assistant,pda)、个人计算机(personal computer,pc)或者中继设备等。
47.例如,终端设备可以是可穿戴设备。其中,该可穿戴设备也可以称为智能穿戴式设备,是应用穿戴式技术对日常穿戴进行智能化设计、开发的智能设备的总称,例如智能眼镜、智能手套、智能手表、各类具体征监测的智能手环、智能首饰等。该可穿戴设备即可以直
接穿在身上,也可以整合到用户的服饰或配件上的一种便携式设备。该可穿戴设备不仅可以搭载专用的硬件架构,还可以搭载专用的软件架构进行数据交互、云端交互等。该穿戴式智能设备可以不依赖其他智能设备以实现完整或者部分的功能。
48.在本技术实施例中,终端设备的软件系统可以采用分层架构、事件驱动架构、微核架构、微服务架构或云架构。
49.终端设备的软硬件系统可以包括硬件层、运行在硬件层之上的操作系统层、运行在操作系统层上的应用层等。
50.该硬件层,可以包括cpu、内存管理单元(memory management unit,mmu)和内存(也称为存储器)等硬件。
51.该内存,可以用于存储软体程序和/或模块,可以包括存储程序区和存储数据区。
52.该存储程序区,可以用于存储操作系统或者至少一个功能所需的软体程序等。该操作系统可以是任意一种或多种通过进程(process)实现业务处理的计算机操作系统。例如,android操作系统、rtos(real-time operating system,实时操作系统)操作系统、unix操作系统、linux操作系统、dos操作系统、windows操作系统、mac操作系统等。
53.该存储数据区,可以用于存储操作系统或者至少一个功能所需或所产生的数据等。
54.下面以分层架构的操作系统为例,对终端设备的软硬件系统进行示例性说明。
55.示例性的,请参阅图2,图2是本技术实施例提供的一种终端设备的软硬件系统的架构示意图。如图2所示,存储器220中存储有操作系统层230。操作系统层包括内核层2301、系统运行库层2302、应用框架层2303和应用层2304。其中,层与层之间通过软件接口通信,并且内核层2301、系统运行库层2302和应用框架层2303属于操作系统空间。处理器210可以执行存储在存储器220上的计算机程序或指令以实现相关操作。
56.处理器210,可以看作一个完整的系统级芯片(system on chip,soc),可以用于运行或加载一种操作系统,可以包括一个或多个处理单元。
57.例如,处理器210可以包括中央处理器(central processing unit,cpu)、应用处理器(application processor,ap)、微控制单元(microcontroller unit,mcu)、单片微型计算机(single chip microcomputer,scm)、单片机、图形处理器(graphics processing unit,gpu)、图像信号处理器(image signal processor,isp)、控制器、数字信号处理器(digital signal processor,dsp)、现场可编程逻辑门阵列(field programmable gate array,fpga)、专用集成电路(application-specific integrated circuit,asic)、基带处理器、神经网络处理器(neural-network processing unit,npu)等中的至少之一项。不同的处理单元可以是各自分离,也可以集成在一起。另外,处理器210中还可以设置存储器220。
58.处理器210还可以包括一个或多个通信接口。其中,该通信接口可以包括串行外设接口(serial peripheral interface,spi)、集成电路(inter-integrated circuit,i2c)接口、集成电路内置音频(inter-integrated circuit sound,i2s)接口、脉冲编码调制(pulse code modulation,pcm)接口、通用异步收发传输器(universal asynchronous receiver/transmitter,uart)接口、移动产业处理器接口(mobile industry processor interface,mipi)、通用输入输出(general-purpose input/output,gpio)接口、用户标识
模块(subscriber identity module,sim)接口、通用串行总线(universal serial bus,usb)接口等中的至少之一项。
59.存储器220,可以用于存储计算机程序或指令,可以用于存储数据,可以用于存储操作系统层230。其中,处理器210可以调用存储器220中存储的程序以运行操作系统。存储器220可以保存或缓存处理器210刚用过或循环使用的指令,还可以保存或缓存数据,并该数据同步或传输给其他处理器执行。
60.存储器220可以包括随机存储记忆体(random access memory,ram)、只读存储器(read-only memory,rom)、可擦除可编程只读存储器(erasable programmable read only memory,eprom)或便携式只读存储器(compact disc read-only memory,cd-rom)等中的至少之一项。
61.内核层2301,可以为终端设备的各种硬件提供了底层的操作系统驱动,如显示驱动、音频驱动、摄像头驱动、蓝牙驱动、wi-fi驱动、电源管理、nfc驱动、uwb驱动、移动支付驱动等。
62.系统运行库层2302,可以用于通过一些c/c++库来为操作系统提供主要的特性支持。如sqlite库提供了数据库的支持,opengl/es库提供了3d绘图的支持,webkit库提供了浏览器内核的支持等。
63.系统运行库层2302,还可以用于提供有操作系统运行时库(operating system runtime),其主要提供了一些核心库,能够允许开发者使用脚本语言来编写应用。
64.应用框架层2303,可以用于提供构建应用层2304中的应用可能用到的各种应用编程接口(application programming interface,api)和编程框架,从而开发者可以通过使用这些api来创建应用。
65.应用框架层2303可以包括窗口管理器(window manager)、内容提供器(content providers)、视图系统(view system)、电话管理器(telephony manager)、资源管理器、通知管理器(notification manager)、消息管理器、活动管理器(activity manager)、包管理器(package manager)和位置管理(location manager)、支付管理器(payment manager)等。
66.应用层2304属于用户空间,应用层2304中运行有至少一个应用程序(application,也可以简称为“应用”)。其中,这些应用程序可以是操作系统自带的原生应用,也可以是第三方开发者所开发的第三方应用。例如,应用层可以包括相机、图库、日历、通话、地图、导航、wlan、蓝牙、音乐、视频、短信息、移动支付等应用。
67.本技术实施例的服务器可以为用于提供支付鉴权处理等功能的软硬件单元。
68.例如,该软硬件单元可以是基础设施即服务(infrastructure as a service,iaas)、平台即服务(platform as a service,paas)、软件即服务(software as service,saas)平台、数据库等。
69.另外,服务器可以是云服务器、硬件服务器、软件服务器、软硬件服务器、鉴权服务器、支付鉴权/校验管理平台、物联网服务器、web服务器、应用服务器、负载均衡器(nginx)、数据中心网络设备、个人计算机(personal computer,pc)、计算设备、5g系统中的网络设备以及未来演进的公用陆地移动通信网络(public land mobile network,plmn)中的网络设备、支持802.11协议的计算机等,对此不作具体限制。
70.目前,在移动支付领域存在一种统一支付接口(unified payment interface,upi)的支付方式。其中,upi是一种在印度当地越来越受欢迎的主流支付方式,占据50%以上的市场份额。因此,在upi支付方式中也存在着大量的移动钱包(mobile wallets)平台或支付应用(app),如paytm、googlepay、mipay、phonepe等,而用户可以选择移动钱包平台或支付应用中的业务类型以执行相关的移动支付行为。
71.当用户对所选择的业务类型(如数字产品、商品、话费、燃气水电费、游戏充值、外卖点餐、通行路费等)进行移动支付时,终端设备会对本次交易产生一定的支付数据(支付报文等),如用户信息、订单金额(比如,充值金额)、商务账户信息(比如,充值的手机号码)、所选择的业务类型的标识信息等。该支付数据需要在终端设备和服务器之间传输,为了保证支付数据传输的安全性,需要对该支付数据进行加密,以保证本次交易的安全性。
72.目前存在一种利用偏移量进行安全校验的方式。每次发新版本的操作系统或者移动支付应用程序(application,app)时,需要人工在后台录入新版本的偏移量。如果忘记录入,则新版本会产生安全校验失败的问题,支付处理的便捷度较低。
73.偏移量,也可以称为偏移地址,可以是动态库文件对应的目标函数的偏移量。偏移地址就是计算机里的内存分段后,在段内某一地址相对于段首地址(段地址)的偏移量。在操作系统更新或者移动支付应用程序的版本更新后,动态库文件对应的目标函数的偏移量会发生变化。偏移量可以是一定长度的字符串。
74.本技术实施例采用固定偏移量,该固定偏移量在版本更新的过程中不会发生变化,每次版本更新无需人工在后台录入新版本的偏移量,从而提高支付处理的便捷度。
75.整个支付流程中,终端设备的操作系统中会存在一个动态库文件,该动态库文件可以是操作系统上一种用c/c++开发的动态库,用于实现底层的支付(移动支付/交易等)行为逻辑,如android/linux中的so文件。服务器本身也可以配置有操作系统的动态库文件。
76.同时,在整个支付处理流程中,该动态库文件可以维护(有)多个目标函数(如支付函数或虚拟支付账户(virtual payment account,vpa)函数等)以用于实现底层的(移动支付/交易等)行为逻辑。
77.对于用户在移动钱包平台或支付应用上选择业务类型以执行相关的支付(移动支付/交易等)行为的过程,可以理解为,该动态库文件被加载,以及该动态库文件中的目标函数被调用。
78.此时,终端设备(内核或处理器)会提取用户标识和该动态库文件中so文件对应的目标函数的偏移量,并将该用户标识和该动态库文件中so文件对应的目标函数的偏移量通过一定的算法生成用户特征码,通过用户特征码对支付数据进行加密。
79.需要说明的是,服务器本身也配置有操作系统的动态库文件,服务器维护的动态库文件中so文件对应的目标函数的偏移量与终端设备维护的动态库文件中so文件对应的目标函数的偏移量相同。也即,服务器中也配置有固定偏移量,对于同一个目标函数,终端设备中的固定偏移量和服务器中的固定偏移量相同。服务器也可以根据用户标识和固定偏移量生成用户特征码。
80.对于不同的用户而言,同一个目标函数对应的固定偏移量都是相同的。
81.so文件是动态库文件中一种可执行文件的格式,在so文件编译完之后,so文件对应的每个函数会放在一个固定的位置上,但是每一次对so文件进行更改(比如,版本更新
时)后,每个函数的物理位置就发生变化,函数的偏移量就会发生变化。
82.本技术实施例在编译的过程,通过插件的形式,把so文件对应的目标函数编译到某一个固定位置,当对除目标函数之外的其他的函数进行更改的时候,就不会影响这个目标函数编译之后的地址,从而保证目标函数的偏移量是固定的,不会随着版本的更新而发生变化。
83.其中,so文件编译的过程可能有十几个步骤,可能经过词法解析、语法解析,然后找到抽象语法树,在抽象语法树里面把so文件对应的目标函数找出来,在该目标函数转译成中间代码的过程中,把目标函数的符号定义到某一个固定地址上面。在中间代码转换为二进制的过程中,就会把这个目标函数定位在固定的偏移地址上面,从而使得该目标函数的偏移量是固定的。
84.下面对本技术实施例的支付处理流程所涉及的相关概念、所能达到的有益效果等进行具体说明。
85.1)业务类型
86.在本技术实施例中,业务类型,可以用于表示能被执行支付(移动支付/交易)行为的业务,例如数字产品、商品、话费、燃气水电费、游戏充值、外卖点餐、通行路费等。其中,业务类型的标识信息可以用于唯一标识业务类型,以便通过业务类型的标识信息对业务标识进行识别与区分。
87.业务类型可以是由终端设备的移动钱包平台或支付应用(app)提供的。因此,用户可以根据自身需要在移动钱包或支付应用中选择业务类型以执行相关的移动支付行为。
88.需要说明的是,应用,可以称为应用程序(application,app)。应用程序,可以是指为完成某项/多项特定工作或具有某种功能的程序,而程序是运行于操作系统上的,可以运行在应用层上与用户进行交互,具有可视的用户界面。例如,应用可以运行在图2所示的应用层2304上。
89.支付应用,可以是指具有支付(移动支付/交易等)功能的应用。
90.2)支付数据
91.在本技术实施例中,支付数据,也可以称为支付报文等,可以用于表示对业务类型进行支付(移动支付/交易等)时所生成的数据,如用户信息、订单金额、商务账户信息、所选择的业务类型的标识信息等。其中,商务账户信息可以包括upi账号、银行卡账号、移动钱包平台或支付应用的用户账号等。
92.可以理解的是,当用户在移动钱包平台或支付应用上选择业务类型以执行相关的移动支付行为时,终端设备可以控制移动钱包平台或支付应用以生成支付数据。
93.另外,支付数据,可以为超文本传输协议(hyper text transfer protocol,http)数据。
94.3)用户标识(用户id)
95.在本技术实施例中,用户标识,也可以称为用户唯一标识,对于每个用户而言,可以是唯一标识用户,以便通过用户标识对用户进行识别与区分。
96.需要说明的是,当用户注册/登录移动钱包平台或支付应用时,用户会提供相应的个人信息,如注册/登录账号密码、通讯联系方式等。因此,移动钱包平台或支付应用可以将这些个人信息作为用户标识。
97.4)用户特征码(user signature code,usc)
98.在本技术实施例中,usc可以是根据用户标识和固定偏移量(操作系统的动态库文件中的so文件对应的目标函数的偏移量)生成的。
99.可选的,usc可以根据用户标识、固定偏移量、手机号码和集成电路卡识别码(integrate circuit card identity,iccid)生成。
100.对于不同的用户(即用户标识不同),生成的usc不同。因此,可以增加支付数据被破解的难度。比如,不同用户给同一个手机号码充值,充值金额一样,并对支付数据(手机号码和充值金额)进行加密,那么不同用户,得到的加密结果将不同,从而增加支付数据被破解的难度。
101.终端设备上可以运行客户端,服务器上可以运行服务端。客户端也可以称为用户端,是指与服务器相对应,为客户提供本地服务的程序。服务端是一种的服务程序,服务端可以与客户端进行通信。
102.请参阅图3,图3是本技术实施例提供的一种支付处理方法的流程示意图。如图3所示,该支付处理方法还可以包括如下步骤。
103.301,终端设备基于特征信息生成用户特征码,特征信息包括:用户标识和固定偏移量。
104.本技术实施例中,终端设备可以基于用户标识和固定偏移量生成用户特征码。
105.在一个实施例中,终端设备可以基于用户标识和固定偏移量进行异或处理和哈希运算后得到。
106.可选的,步骤301中,终端设备基于特征信息生成用户特征码,具体可以包括如下步骤:
107.(11)终端设备将固定偏移量与用户标识进行异或处理,得到第五异或结果;
108.(12)终端设备将所述第五异或结果进行哈希运算,得到第一哈希结果,所述用户特征码包括所述第一哈希结果。
109.本技术实施例中,终端设备可以通过美国信息交换标准代码(american standard code for information interchange,ascii)表将固定偏移量中的字符串转换为二进制,得到第一二进制数值,通过ascii表将用户标识中的字符串转换为二进制,得到第二二进制数值。将第一二进制数值和第二二进制数值进行异或运算,得到二进制异或结果(二进制数值),通过ascii表将该二进制异或结果转换为字符串,即第五异或结果。例如,字符“a”通过ascii表可以转化为二进制为“01000001”。
110.哈希运算可以通过哈希函数将第五异或结果(字符串)转换为固定长度的第一哈希结果(字符串),即用户特征码。用户特征码的长度为第一哈希结果的字符串的长度。为了便于该用户特征码的通用性,用户特征码的长度可以设置为16字节,即128比特。16字节的用户特征码可以用在各种通用的加密算法(比如,aes算法、md5算法等)中。
111.哈希函数是一种可以将任意长度的字符串转换为某一固定长度的字符串的函数。
112.在一个实施例中,终端设备可以基于用户标识和固定偏移量进行异或处理、哈希运算和选择处理后得到。
113.可选的,步骤301中,终端设备基于特征信息生成用户特征码,具体可以包括如下步骤:
114.(21)终端设备将固定偏移量与用户标识进行异或处理,得到第五异或结果;
115.(22)终端设备将所述第五异或结果进行哈希运算,得到第一哈希结果;
116.(23)终端设备按照设定规则从所述第一哈希结果中选择n个字节的字符串,所述用户特征码包括所述n个字节的字符串。
117.本技术实施例中,步骤(21)至步骤(22)可以参见上述步骤(11)至步骤(12),此处不再赘述。
118.n为大于或等于2的整数。
119.其中,第一哈希结果包括m个字节的字符串,m等于n的两倍。
120.终端设备按照设定规则从所述第一哈希结果中选择n个字节的字符串,所述用户特征码包括所述n个字节的字符串,包括:
121.终端设备从m个字节的字符串中按照从左到右的顺序选择偶数位置的字符作为所述n个字节的字符串。
122.例如,以m=32,n=16为例。
123.m个字节的字符串包括:ef90392389909abc9009909090786543,则从m个字节的字符串中按照从左到右的顺序选择偶数位置的字符为:f09390ac09000853,作为n个字节的字符串。
124.本技术实施例多经过一次从第一哈希结果中选择n个字节的字符串的过程,可以增加用户特征码被破解的难度,从而进一步增加支付数据的安全性。
125.302,终端设备通过用户特征码对支付数据进行加密,得到加密后的支付数据。
126.本技术实施例中,可以第一加密算法(比如,对称加密算法)对支付数据进行加密。对称加密算法是加密和解密采用同样的密钥的算法。例如,对称加密算法可以包括高级加密标准(advanced encryption standard,aes)对称加密算法。
127.在服务端,为了能够对该加密后的支付数据进行解密,需要采用同样的用户特征码进行解密。
128.303,终端设备向服务器传输加密后的支付数据。
129.支付数据通过用户特征码进行加密后传输,可以保证支付数据传输的安全性。
130.本技术实施例中,用户特征码基于固定偏移量和用户标识生成,由于固定偏移量在版本更新的过程中不会发生变化,每次版本更新无需人工在后台录入新版本的偏移量,从而提高支付处理的便捷度。
131.请参阅图4,图4是本技术实施例提供的另一种支付处理方法的流程示意图。如图4所示,该支付处理方法还可以包括如下步骤。
132.401,终端设备基于特征信息生成用户特征码,特征信息包括:用户标识和固定偏移量。
133.402,终端设备通过用户特征码对支付数据进行加密,得到加密后的支付数据。
134.403,终端设备向服务器传输加密后的支付数据。
135.其中,步骤401至步骤403的具体实施可以参见图3所示的步骤301至步骤303,此处不再赘述。
136.404,服务器接收来自终端设备的加密后的支付数据。
137.其中,步骤403和步骤404可以是同一个步骤,区别在于执行主语不同。
138.405,服务器基于特征信息生成用户特征码,特征信息包括:用户标识和固定偏移量。
139.本技术实施例中,服务器可以存储有设备标识与用户标识的对应关系,每个设备标识可以对应一个用户标识。设备标识与用户标识的对应关系可以在用户在终端设备上注册账户的时候进行建立。
140.服务器可以根据设备标识与用户标识的对应关系查询与所述终端设备的设备标识对应的用户标识,可以从服务器的操作系统的动态库文件(比如,so文件)中获取该动态库文件中的so文件对应的目标函数的偏移量,从而获得包含用户标识和固定偏移量的特征信息。
141.服务器和终端设备采用同样的方法生成用户特征码。步骤405中,服务器基于特征信息生成用户特征码,可以参照步骤401的方式,此处不再赘述。
142.406,服务器通过用户特征码对加密后的支付数据进行解密。
143.本技术实施例中,服务器和终端设备采用同样的密钥(用户特征码)进行加密和解密,保证了传输的加密后的支付数据能够被服务器解密,由于不同用户的用户标识不同,生成的用户特征码也不同,从而提高了用户特征码被破解的难度,进而提高了支付数据传输的安全性。
144.可选的,在执行步骤401之前,还可以执行如下步骤:
145.(31)终端设备获取固定偏移量,将用户标识与所述固定偏移量进行异或处理,得到第一异或结果;
146.(32)终端设备将所述第一异或结果进行加密,得到第一加密结果;
147.(33)终端设备向所述服务器传输所述第一加密结果。
148.本技术实施例中,终端设备将用户标识与所述固定偏移量进行异或处理,得到第一异或结果,可以包括:终端设备可以将固定偏移量中的字符串转换为二进制,得到第一二进制数值,通过ascii表将用户标识中的字符串转换为二进制,得到第二二进制数值。将第一二进制数值和第二二进制数值进行异或运算,得到二进制异或结果(二进制数值),通过ascii表将该二进制异或结果转换为字符串,即第一异或结果。
149.终端设备可以通过第二加密算法将所述第一异或结果进行加密,得到第一加密结果。第二加密算法可以包括rsa加密算法,例如,可以采用rsa2048对第一异或结果进行加密,得到第一加密结果。
150.其中,终端设备向所述服务器传输所述第一加密结果,可以包括:终端设备将该第一加密结果进行编码,得到编码后的第一数据,终端设备向服务器传输该编码后的第一数据。
151.终端设备不直接对特征信息(用户标识和固定偏移量)进行编码,而是基于特征信息进行异或处理、加密处理和编码后,向服务器传输编码后的数据。在终端设备(客户端)侧不存在任何硬编码信息(直接对特征信息进行编码的信息),即使不法分子反编译客户端代码,也看不到特征信息,提高了特征信息在传输过程的安全性。
152.可选的,在执行步骤404之前,还可以执行如下步骤:
153.(41)服务器接收来自终端设备的第一加密结果,解密该第一加密结果得到第一异或结果;
154.(42)服务器根据设备标识与用户标识的对应关系查询与所述终端设备的设备标识对应的用户标识;
155.(43)服务器将所述设备标识对应的用户标识与所述固定偏移量进行异或处理,得到第三异或结果;
156.(44)服务器在所述第一异或结果和所述第三异或结果相同的情况下,将所述特征信息加密后存储到数据库中。
157.其中,步骤(41)中“解密该第一加密结果得到第一异或结果”可以在步骤(42)之前执行,也可以在步骤(42)之后执行,也可以同时执行,本技术实施例不作限定。
158.本技术实施例中,服务器接收来自终端设备的第一加密结果,通过第二加密算法解密该第一加密结果,得到第一异或结果。终端设备通过第二加密算法对第一异或结果进行加密,得到第一加密结果。服务器通过该第二加密算法对该第一加密结果进行解密,得到第一异或结果。终端设备和服务器采用同样的加密算法(第二加密算法),从而保证第一加密结果能够在服务器中被解密。
159.服务器的存储器中可以存储设备标识与用户标识的对应关系,该对应关系可以包括至少两个设备标识和至少两个用户标识,每个设备标识都可以对应一个用户标识。
160.用户标识与固定偏移量进行异或处理,可以通过ascii表将用户标识转换为二进制数值,通过ascii表将固定偏移量转换为二进制数值,将两个二进制数值进行异或运算,得到二进制异或结果,将二进制异或结果通过ascii表转换为异或结果。
161.步骤(43)的具体实施可以参见上述步骤(31)的具体描述,此处不再赘述。
162.可选的,在所述第一异或结果和所述第三异或结果不相同的情况下,服务器向终端设备发出提示信息,所述提示信息用于提示用户标识校验失败。
163.本技术实施例中,终端设备可以向服务器传输加密后的支付数据之前,将基于用户标识与所述固定偏移量进行异或处理得到的第一异或结果传输给服务器。以便服务器能够在执行步骤404之前,能够校验终端设备的特征信息(用户标识与固定偏移量)与服务端的特征信息(用户标识与固定偏移量)是否相同,从而对用户标识进行校验,确保是真实合法的用户。
164.可选的,在执行步骤406之后,还可以执行如下步骤:
165.在解密成功的情况下,服务器根据解密后的支付数据生成支付结果数据,向所述终端设备返回所述支付结果数据。
166.本技术实施例中,在解密成功时,可以返回相应的支付结果数据给用户进行展示。支付结果数据可以包括:支付成功的提示数据、支付的对象、支付的金额、支付的方式、支付的时间、支付的商品说明中的至少一个。
167.可选的,在执行步骤406之后,还可以执行如下步骤:
168.在解密失败的情况下,服务器向所述终端设备返回支付失败的结果。
169.本技术实施例中,在解密失败时,均可以返回相应的支付失败的结果给用户进行展示。支付失败的结果可以包括:失败的原因、失败后的解决方案中的至少一个。
170.请参阅图5,图5是本技术实施例提供的另一种支付处理方法的流程示意图。如图5所示,该支付处理方法还可以包括如下步骤。
171.501,终端设备基于特征信息生成用户特征码,特征信息包括:用户标识、固定偏移
量、手机号码和集成电路卡识别码。
172.本技术实施例中,终端设备可以基于用户标识、固定偏移量、手机号码和集成电路卡识别码这四个要素生成用户特征码。用户特征码考虑的要素更多,可以增加用户特征码被破解的难度,从而增加支付数据的安全性。
173.终端设备可以基于特征信息进行至少一次异或处理、哈希运算生成用户特征码,使得特征信息中的用户标识、固定偏移量、手机号码和集成电路卡识别码中的每个要素都(直接或间接)参与异或处理或哈希运算。
174.可选的,步骤501中,终端设备基于特征信息生成用户特征码,具体可以包括如下步骤:
175.(51)终端设备将固定偏移量与用户标识进行异或处理,得到第六异或结果;
176.(52)终端设备在所述第六异或结果与手机号码的字符串长度相同的情况下,将所述第六异或结果与所述手机号码进行异或处理,得到第七异或结果;
177.(53)终端设备将所述第七异或结果进行哈希运算,得到第二哈希结果;
178.(54)终端设备按照设定规则从所述第二哈希结果中选择n个字节的字符串;
179.(55)终端设备根据所述n个字节的字符串和所述集成电路卡识别码生成n个字节的用户特征码;
180.(56)终端设备在所述第六异或结果与手机号码的字符串长度不相同的情况下,基于所述第六异或结果选择与所述手机号码的字符串长度相同的第一字符串;
181.(57)终端设备将所述第一字符串与所述手机号码进行异或处理,得到第八异或结果;
182.(58)终端设备将所述第八异或结果进行哈希运算,得到第三哈希结果;
183.(59)终端设备按照设定规则从所述第三哈希结果中选择q个字节的字符串;
184.(510)终端设备根据所述q个字节的字符串和所述集成电路卡识别码生成q个字节的用户特征码。
185.q为大于或等于2的整数。
186.其中,在所述第六异或结果与手机号码的字符串长度相同的情况下,执行步骤(52)至步骤(55),在所述第六异或结果与手机号码的字符串长度不相同的情况下,执行步骤(56)至步骤(510)。
187.本技术实施例中,步骤(51)具体可以包括如下步骤:终端设备可以通过ascii表将固定偏移量中的字符串转换为二进制,得到第一二进制数值,通过ascii表将用户标识中的字符串转换为二进制,得到第二二进制数值。将第一二进制数值和第二二进制数值进行异或运算,得到第三二进制数值,通过ascii表将该第三二进制数值转换为字符串,即第六异或结果。
188.步骤(52)具体可以包括如下步骤:终端设备可以通过ascii表将手机号码的字符串转换为二进制,得到第四二进制数值,将第三二进制数值和第四二进制数值进行异或运算,得到第五二进制数值,通过ascii表将该第五二进制数值转换为字符串,即第七异或结果。
189.哈希运算可以通过哈希函数将第七异或结果(字符串)转换为固定长度的第二哈希结果(字符串)。哈希函数是一种可以将任意长度的字符串转换为某一固定长度的字符串
的函数。
190.在第二哈希结果包含的字符串的长度为m,且m小于或n个字节时,设定规则可以是从第二哈希结果中按照一定规则选择(n-m)个字符,将这(n-m)个字符与第二哈希结果包含的字符串组成n个字节的字符串。
191.在第二哈希结果包含的字符串的长度为m,且m大于n个字节时,设定规则可以是从第二哈希结果中按照一定规则选择n个字符,作为n个字节的字符串。第二哈希结果包含的字符串的长度m大于n时,由于从m中选择n个字符的可能性更多,可以使得生成的n个字节的字符串更难以被破解,进而提高用户特征码被破解的难度。
192.需要说明的是,终端设备中的设定规则和服务器中的设定规则是同样的规则。终端设备中的哈希运算和服务器中的哈希运算是同样的哈希运算。
193.步骤(56)中,终端设备基于所述第六异或结果选择与所述手机号码的字符串长度相同的第一字符串,包括:
194.终端设备可以按照第二设定规则从所述第六异或结果选择与所述手机号码的字符串长度相同的第一字符串。
195.若第六异或结果的字符串长度为x,手机号码的字符串长度为y,在第六异或结果的字符串长度x小于手机号码的字符串长度y的情况下,第二设定规则可以是从第六异或结果的字符串中按照一定规则选择(y-x)个字符,将这(y-x)个字符与第六异或结果的字符串组成y个字节的字符串。
196.例如,第六异或结果的字符串长度为8,手机号码的字符串长度为12(比如,印度手机号码,91xxxxxxxxxx),可以将两个第六异或结果首尾串联起来,组成16位的字符串,从该16位的字符串中选择中间12位的字符串作为第一字符串。比如,第六异或结果的字符串为“afh10233”,则将两个第六异或结果首尾串联起来为“afh10233afh10233”,从该16为的字符串中选择中间12位的字符串:“h10233afh102”,作为第一字符串。
197.在第六异或结果的字符串长度x大于手机号码的字符串长度y的情况下,第二设定规则可以是从第六异或结果的字符串中按照一定规则选择y个字符,作为y个字节的字符串。第六异或结果的字符串长度x大于手机号码的字符串长度y时,由于从x中选择y个字符的可能性更多,可以使得生成的y个字节的字符串更难以被破解,进而提高用户特征码被破解的难度。
198.需要说明的是,终端设备中的第二设定规则和服务器中的第二设定规则是同样的规则。
199.其中,q可以等于n,也可以不等于n。步骤(57)至步骤(510)的具体实施可以参见步骤(52)至步骤(55)的相关描述,此处不再赘述。
200.可选的,所述第二哈希结果包括m个字节的字符串,m等于n的两倍;步骤(54)中,终端设备按照设定规则从所述第二哈希结果中选择n个字节的字符串,具体可以包括如下步骤:
201.(541)终端设备从m个字节的字符串中按照从左到右的顺序选择偶数位置的字符作为所述n个字节的字符串;或者,
202.(542)终端设备从m个字节的字符串中按照从左到右的顺序选择奇数位置的字符作为所述n个字节的字符串;或者,
203.(543)终端设备从m个字节的字符串中按照从右到左的顺序选择偶数位置的字符作为所述n个字节的字符串;或者,
204.(544)终端设备从m个字节的字符串中按照从右到左的顺序选择奇数位置的字符作为所述n个字节的字符串。
205.本技术实施例提供一种从m个字节的字符串中选择n个字节的字符串的规则。
206.例如,以m=32,n=16为例。
207.m个字节的字符串包括:ef90392389909abc9009909090786543,则从m个字节的字符串中按照从左到右的顺序选择偶数位置的字符为:f09390ac09000853,作为n个字节的字符串。
208.可选的,所述集成电路卡识别码包括p个字节的字符串,步骤(55)中,终端设备根据所述n个字节的字符串和所述集成电路卡识别码生成n个字节的用户特征码,具体可以包括如下步骤:
209.(551)终端设备将所述n个字节的字符串中的每个字节转换为数字,得到n个数字;
210.(552)终端设备对所述n个数字分别求p的模,得到n个余数;
211.(553)终端设备从所述p个字节的字符串中选择与所述n个余数对应的位置的n个字符,基于所述n个字符生成n个字节的用户特征码。
212.本技术实施例中,数字为十进制数字。p为大于或等于2的整数。
213.集成电路卡识别码一般由20个字符组成。例如,以p=20,n=16为例。n个字节的字符串为f09390ac09000853,则可以根据ascii表将每个字节转换为十进制数值。在ascii表中,字符“f”对应的数值为70,字符“0”对应的数值为48,字符“9”对应的数值为57,字符“3”对应的数值为51,字符“a”对应的数值为65,字符“c”对应的数值为67,字符“8”对应的数值为56,字符“5”对应的数值为53。则n个余数分别为:10、8、17、11、17、8、15、7、8、17、8、8、8、16、13、11。则可以将该p个字节的字符串的第11位、第9位、第18位、第12位、第18位、第9位、第16位、第8位、第9位、第18位、第9位、第9位、第9位、第17位、第14位、第12位组成n个字节的用户特征码。
214.如果p个字节的字符串为“x0x1x2x3x4x5x6x7x8x9x
10
x
11
x
12
x
13
x
14
x
15
x
16
x
17
x
18
x
19”,则n个字节的用户特征码为“x
10
x8x
17
x
11
x
17
x8x
15
x7x8x
17
x8x8x8x
16
x
13
x
11”。其中,x0~x
19
分别表示p个字节的字符串中从左到右的20个字符串。
215.可选的,步骤(59)中,所述第三哈希结果包括r个字节的字符串,r等于q的两倍;终端设备按照设定规则从所述第三哈希结果中选择q个字节的字符串,可以包括如下步骤:
216.(591)终端设备从r个字节的字符串中按照从左到右的顺序选择偶数位置的字符作为所述q个字节的字符串;或者,
217.(592)终端设备从r个字节的字符串中按照从左到右的顺序选择奇数位置的字符作为所述q个字节的字符串;或者,
218.(593)终端设备从r个字节的字符串中按照从右到左的顺序选择偶数位置的字符作为所述q个字节的字符串;或者,
219.(594)终端设备从r个字节的字符串中按照从右到左的顺序选择奇数位置的字符作为所述q个字节的字符串。
220.其中,步骤(591)至步骤(594)的具体实施可以参见上述步骤(541)至步骤(544),
此处不再赘述。
221.可选的,所述集成电路卡识别码包括p个字节的字符串,步骤(510)中,终端设备根据所述q个字节的字符串和所述集成电路卡识别码生成q个字节的用户特征码,可以包括如下步骤:
222.(5101)终端设备将所述q个字节的字符串中的每个字节转换为数字,得到q个数字;
223.(5102)终端设备对所述q个数字分别求p的模,得到q个余数;
224.(5103)终端设备从所述p个字节的字符串中选择与所述q个余数对应的位置的q个字符,基于所述q个字符生成q个字节的用户特征码。
225.其中,步骤(5101)至步骤(5103)的具体实施可以参见上述步骤(551)至步骤(553),此处不再赘述。
226.502,终端设备通过用户特征码对支付数据进行加密,得到加密后的支付数据。
227.503,终端设备向服务器传输加密后的支付数据。
228.其中,步骤502至步骤503的具体实施可以参见上述步骤302至步骤303,此处不再赘述。
229.请参阅图6,图6是本技术实施例提供的另一种支付处理方法的流程示意图。如图6所示,该支付处理方法还可以包括如下步骤。
230.601,终端设备基于特征信息生成用户特征码,特征信息包括:用户标识、固定偏移量、手机号码和集成电路卡识别码。
231.602,终端设备通过用户特征码对支付数据进行加密,得到加密后的支付数据。
232.603,终端设备向服务器传输加密后的支付数据。
233.其中,步骤601至步骤603的具体实施可以参见图5所示的步骤501至步骤503,此处不再赘述。
234.604,服务器接收来自终端设备的加密后的支付数据。
235.其中,步骤603和步骤604可以是同一个步骤,区别在于执行主语不同。
236.605,服务器基于特征信息生成用户特征码,特征信息包括:用户标识、固定偏移量、手机号码和集成电路卡识别码。
237.步骤605中的特征信息可以加密存储在服务器的数据库中。数据库中可以存储有用户标识和特征信息的对应关系,不同的用户标识对应不同的特征信息。
238.在服务器接收到来自终端设备的加密后的支付数据后,服务器的关键业务接口被调用,服务器根据终端设备上登录用户的用户标识找到该用户标识对应的特征信息。
239.服务器和终端设备采用同样的方法生成用户特征码。步骤605中,服务器基于特征信息生成用户特征码,可以参照步骤601的方式,此处不再赘述。
240.606,服务器通过用户特征码对加密后的支付数据进行解密。
241.本技术实施例中,服务器和终端设备采用同样的密钥(用户特征码)进行加密和解密,保证了传输的加密后的支付数据能够被服务器解密,由于不同用户的用户标识不同,生成的用户特征码也不同,从而提高了用户特征码被破解的难度,进而提高了支付数据传输的安全性。
242.可选的,在执行601之前,还可以执行如下步骤:
243.(61)终端设备获取固定偏移量,读取用户身份识别卡的集成电路卡识别码;
244.(62)终端设备将用户标识与所述固定偏移量进行异或处理,得到第二异或结果;
245.(63)终端设备将所述第二异或结果和所述集成电路卡识别码进行加密,得到第二加密结果;
246.(64)终端设备通过短信向所述服务器发送所述第二加密结果。
247.本技术实施例中,终端设备可以在客户端应用被启动时,初始化动态库文件,此时可以获取该动态库文件中so文件对应的目标函数的偏移量,即固定偏移量。
248.用户身份识别卡,也可以称为用户标识模块(subscriber identity module,sim)卡,简称为sim卡。码集成电路卡识别码(integrate circuit card identity,iccid)可以简称为iccid。终端设备可以读取sim卡的iccid。iccid的一般由20个字符组成。
249.其中,步骤(62)的具体实施可以参见步骤(31)的具体描述,此处不再赘述。
250.终端设备可以通过第二加密算法将所述第二异或结果和集成电路卡识别码进行加密,得到第二加密结果。第二加密算法可以包括rsa加密算法,例如,可以采用rsa2048对第二异或结果进行加密,得到第二加密结果。
251.其中,终端设备通过短信向所述服务器发送所述第二加密结果,可以包括:终端设备将该第二加密结果进行编码,得到编码后的第二数据,终端设备通过短信向服务器发送该编码后的第二数据。
252.终端设备不直接对特征信息(用户标识和固定偏移量)进行编码,而是基于特征信息进行异或处理、加密处理和编码后,向服务器传输编码后的数据。在终端设备(客户端)侧不存在任何硬编码信息(直接对特征信息进行编码的信息),即使不法分子反编译客户端代码,也看不到特征信息,提高了特征信息在传输过程的安全性。
253.可选的,在执行步骤604之前,还可以执行如下步骤:
254.(71)服务器接收来自终端设备的短信,解密所述短信得到第二异或结果和集成电路卡识别码;
255.(72)服务器根据手机号码与用户标识的对应关系查询与所述终端设备的手机号码对应的用户标识;
256.(73)服务器将所述手机号码对应的用户标识与所述固定偏移量进行异或处理,得到第四异或结果;
257.(74)服务器在所述第二异或结果与所述第四异或结果相同的情况下,将所述特征信息加密后存储到数据库中。
258.其中,步骤(71)中“解密所述短信得到第二异或结果和集成电路卡识别码”可以在步骤(72)之前执行,也可以在步骤(72)之后执行,也可以同时执行,本技术实施例不作限定。
259.本技术实施例中,服务器接收来自终端设备的短信后,服务器可以根据该短信知道手机号码,通过第二加密算法对该短信中的第二加密结果进行解密,得到第二异或结果和集成电路卡识别码。
260.当用户在终端设备上通过手机号码注册移动钱包平台或支付应用时,服务器可以生成用户标识(用户id),并建立手机号码和用户标识的对应关系,将该对应关系存储在服务器。
261.服务器根据手机号码与用户标识的对应关系查询与所述终端设备的手机号码对应的用户标识。服务器可以确定服务器的操作系统中存在的动态库文件中so文件对应的目标函数的偏移量,即固定偏移量。
262.服务器将所述手机号码对应的用户标识与所述固定偏移量进行异或处理,得到第四异或结果,如果第二异或结果与第四异或结果相同,表明终端设备采用的特征信息(用户标识、固定偏移量、手机号码和集成电路卡识别码)与服务器采用的特征信息相同。可以将特征信息加密后存储到服务器的数据库中。
263.本技术实施例可以对用户的集成电路卡识别码的完整性进行校验,确保是真实合法的用户。
264.可选的,在所述第二异或结果和所述第四异或结果不相同的情况下,服务器向终端设备发出提示信息,所述提示信息用于提示用户标识校验失败。
265.本技术实施例中,终端设备可以向服务器传输加密后的支付数据之前,将基于用户标识和固定偏移量进行异或处理得到的第二异或结果和集成电路卡识别码进行加密后传输给服务器。以便服务器能够在执行步骤604之前,能够校验终端设备的特征信息(用户标识、固定偏移量、手机号码和集成电路卡识别码)与服务端的特征信息(用户标识、固定偏移量、手机号码和集成电路卡识别码)是否相同,从而对用户标识和集成电路卡识别码进行校验,确保是真实合法的用户。
266.可选的,在执行步骤606之后,还可以执行如下步骤:
267.在解密成功的情况下,服务器根据解密后的支付数据生成支付结果数据,向所述终端设备返回所述支付结果数据。
268.本技术实施例中,在解密成功时,可以返回相应的支付结果数据给用户进行展示。支付结果数据可以包括:支付成功的提示数据、支付的对象、支付的金额、支付的方式、支付的时间、支付的商品说明中的至少一个。
269.可选的,在执行步骤606之后,还可以执行如下步骤:
270.在解密失败的情况下,服务器向所述终端设备返回支付失败的结果。
271.本技术实施例中,在解密失败时,均可以返回相应的支付失败的结果给用户进行展示。支付失败的结果可以包括:失败的原因、失败后的解决方案中的至少一个。
272.下面提供一种支付处理方法的具体流程。
273.终端设备上安装有客户端,服务器上安装有服务端。固定偏移量可以是动态库文件中so文件对应的目标函数的偏移量。终端设备以手机为例。
274.客户端执行的流程如下:
275.1.1、在客户端应用被启动时,会初始化动态库文件,这个时候会获取固定so文件对应的目标函数的固定偏移量,设为a;
276.1.2、读取手机卡上的唯一标识iccid(集成电路卡识别码),设为b;
277.1.3、将用户标识uid与a进行异或,结果设为c(第二异或结果);
278.1.4、将b与c,通过字符“|”串联起来,然后通过加密函数(比如,rsa2048)进行加密,得到加密结果(第二加密结果),将加密结果(比如,rsa(“b|c”))通过base64的方式进行编码,将编码结果作为短信内容,通过短信发送出去;
279.2.1、在需要用到加密的场景时,如支付时,需要对支付数据(比如,充值金额、充值
手机号码)进行加密,通过四要素(手机号码、uid、iccid、固定偏移量)去生成用户特征码usc,将usc作为aes的初始向量进行加密。
280.其中,步骤1.1至步骤1.4可以参见上述步骤(61)至步骤(64)。步骤2.1可以参见上述步骤601至步骤602。
281.服务端执行的流程如下:
282.3.1、服务端收到短信并解密,将短信内容通过base64的方式进行解码,得到”b|c”;
283.3.2、服务端通过短信服务商接口收到短信时,会得到短信发送人,此时可以得到手机号码。然后通过手机号码查询出用户的uid,再通过uid与固定偏移量a做异或,将异或结果与c进行比对。如果比对正确,则往下执行。
284.3.3、将四要素(手机号码、uid、iccid、固定偏移量)加密后持久化到数据库中。
285.3.4、在关键业务接口(比如,支付类业务的接口)被调用时,通过四要素去生产usc,将usc作为aes初始向量进行解密;
286.3.5、如果解密失败,则认为客户端被破解或是异常用户;如果解密成功则进行下一个业务流程处理(比如,返回相应的结果数据用户进行展示)。
287.其中,步骤3.1至步骤3.3可以参见上述步骤(71)至步骤(74)。步骤3.4至步骤3.5可以参见上述步骤604至步骤606。
288.本技术实施例的aes的初始向量生成,可以利用usc为不同的用户、业务生成不同的初始向量。不在需要每个版本都手工录入函数偏移量,可以实现便捷管理。在一套需要安全防护的业务流程中,可以通过usc解密方式动态维持业务状态,保证是正常的业务请求,而非被篡改应用的请求,可以提升业务请求的灵活性与安全性。不同业务具有不同的初始向量、不同用户相同明文加密的密文不一样,保证usc的多样性。可以对用户的sim卡完整性进行校验,确保是真实合法的upi用户。
289.本技术实施例中,在客户端不存在任何硬编码向量信息,反编译客户端代码也看不到向量值,不同的目标函数有不同的向量信息(不同的目标函数的固定偏移量不同),向量多样化;不同用户相同明文加密的结果也不同。可以对客户端完整性进行校验,确保客户端的安全,只要客户端的代码一被更改,向量信息(usc)就会发生变化,服务端解密将失败,意味着客户端被篡改,还可以对用户的合法sim卡进行校验。
290.其中,usc是用来将用户身份(比如,手机号码、uid、iccid)与固定偏移量(so文件对应的目标函数的偏移量)绑定在一起,用来鉴别、加密普通正常用户在正规渠道上使用upi的功能。usc的生成步骤如下:
291.4.1、当so文件被加载后,且对应的目标函数(比如,上报手机号码、话费充值)被调用时,被调用函数会获取自身函数的偏移地址(offset地址),如0x0abdfc09;
292.4.2、将offset地址0x0abdfc09进行字符化,变为0x12131444(固定偏移量)与uid:90180902进行异或,生成的a为:afh10233;
293.4.3、将a首尾串联起来生成的b为:afh10233afh10233;
294.4.4、将b中间的12个字节:h10233afh102与手机号码进行异,结果为:90393abfc901,然后进行哈希运算,结果为32个字节的c:ef90392389909abc9009909090786543;
295.4.5、从左到右取出c的偶数位置的数,组成16个字节的d:f09390ac09000853;
296.4.6、将d每个位置的字节转为数字,并模20,得到余数,该余数代表iccid的位置。如余数为1代表取iccid的第二个位置的字节。以此取出16个字节,即可得用户特征码usc。
297.其中,步骤4.1至步骤4.5可以参见步骤(51)、步骤(56)至步骤(510)。
298.usc是由iccid、手机号码、uid、固定偏移量(so文件对应的目标函数的偏移量)四要素组成,可以通过算法生成16字符的序列。不同用户会生成不同的usc,用来唯一绑定用户标识与正版的so文件。因此,usc可以唯一代表用户与so文件的特征标识。
299.原有的so文件的偏移量,只能校验文件本身,无法对sim卡的合法性进行校验,无法校验用户、设备、手机号码三者之间的一致性。本技术实施例通过iccid、手机号码、uid、固定偏移量(so文件对应的目标函数的偏移量)四要素生成aes初始向量(usc),可以增强aes加密安全性,以提升业务的防护逻辑。
300.上述主要从方法侧执行过程的角度对本技术实施例的方案进行了介绍。可以理解的是,终端设备为了实现上述功能,其包含了执行各个功能相应的硬件结构和/或软件模块。本领域技术人员应该很容易意识到,结合本文中所提供的实施例描述的各示例的单元及算法步骤,本技术能够以硬件或硬件和计算机软件的结合形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用使用不同方法来实现所描述的功能,但是这种实现不应认为超出本技术的范围。
301.本技术实施例可以根据上述方法示例对终端设备进行功能单元的划分,例如,可以对应各个功能划分各个功能单元,也可以将两个或两个以上的功能集成在一个处理单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。需要说明的是,本技术实施例中对单元的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
302.请参阅图7,图7是本技术实施例提供的一种支付处理装置的结构示意图,该支付处理装置700可以应用于终端设备,该支付处理装置700可以包括第一生成单元701、加密单元702和传输单元703,其中:
303.所述第一生成单元701,用于基于特征信息生成用户特征码,所述特征信息包括:用户标识和固定偏移量;
304.所述加密单元702,用于通过所述用户特征码对支付数据进行加密,得到加密后的支付数据;
305.所述传输单元703,用于向服务器传输所述加密后的支付数据。
306.可选的,所述特征信息还包括手机号码和集成电路卡识别码。
307.可选的,该支付处理装置700还可以包括获取单元704和异或处理单元705;
308.所述获取单元704,用于在第一生成单元701基于特征信息生成用户特征码之前,获取固定偏移量;
309.所述异或处理单元705,用于将用户标识与所述固定偏移量进行异或处理,得到第一异或结果;
310.所述加密单元702,用于将所述第一异或结果进行加密,得到第一加密结果;
311.所述传输单元703,还用于向所述服务器传输所述第一加密结果。
312.可选的,所述获取单元704,还用于在第一生成单元701基于特征信息生成用户特征码之前,获取固定偏移量,读取用户身份识别卡的集成电路卡识别码;
313.所述异或处理单元705,还用于将用户标识与所述固定偏移量进行异或处理,得到第二异或结果;
314.所述加密单元702,还用于将所述第二异或结果和所述集成电路卡识别码进行加密,得到第二加密结果;
315.所述传输单元703,还用于通过短信向所述服务器发送所述第二加密结果。
316.可选的,所述第一生成单元701基于特征信息生成用户特征码,包括:将固定偏移量与用户标识进行异或处理,得到第五异或结果;将所述第五异或结果进行哈希运算,得到第一哈希结果;按照设定规则从所述第一哈希结果中选择n个字节的字符串,所述用户特征码包括所述n个字节的字符串。
317.可选的,所述第一生成单元701基于特征信息生成用户特征码,包括:将固定偏移量与用户标识进行异或处理,得到第六异或结果;在所述第六异或结果与手机号码的字符串长度相同的情况下,将所述第六异或结果与所述手机号码进行异或处理,得到第七异或结果;将所述第七异或结果进行哈希运算,得到第二哈希结果;按照设定规则从所述第二哈希结果中选择n个字节的字符串;根据所述n个字节的字符串和所述集成电路卡识别码生成n个字节的用户特征码。
318.可选的,所述第一生成单元701基于特征信息生成用户特征码,包括:将固定偏移量与用户标识进行异或处理,得到第六异或结果;在所述第六异或结果与手机号码的字符串长度不相同的情况下,基于所述第六异或结果选择与所述手机号码的字符串长度相同的第一字符串;将所述第一字符串与所述手机号码进行异或处理,得到第八异或结果;将所述第八异或结果进行哈希运算,得到第三哈希结果;按照设定规则从所述第三哈希结果中选择q个字节的字符串;根据所述q个字节的字符串和所述集成电路卡识别码生成q个字节的用户特征码。
319.可选的,所述第二哈希结果包括m个字节的字符串,m等于n的两倍;所述第一生成单元701按照设定规则从所述第二哈希结果中选择n个字节的字符串,包括:
320.从m个字节的字符串中按照从左到右的顺序选择偶数位置的字符作为所述n个字节的字符串;或者,
321.从m个字节的字符串中按照从左到右的顺序选择奇数位置的字符作为所述n个字节的字符串;或者,
322.从m个字节的字符串中按照从右到左的顺序选择偶数位置的字符作为所述n个字节的字符串;或者,
323.从m个字节的字符串中按照从右到左的顺序选择奇数位置的字符作为所述n个字节的字符串。
324.可选的,所述集成电路卡识别码包括p个字节的字符串,所述第一生成单元701根据所述n个字节的字符串和所述集成电路卡识别码生成n个字节的用户特征码,包括:将所述n个字节的字符串中的每个字节转换为数字,得到n个数字;对所述n个数字分别求p的模,得到n个余数;从所述p个字节的字符串中选择与所述n个余数对应的位置的n个字符,基于所述n个字符生成n个字节的用户特征码。
325.可选的,所述第一生成单元701基于所述第六异或结果选择与所述手机号码的字符串长度相同的第一字符串,包括:
326.按照第二设定规则从所述第六异或结果选择与所述手机号码的字符串长度相同的第一字符串。
327.可选的,所述第三哈希结果包括r个字节的字符串,r等于q的两倍;所述第一生成单元701按照设定规则从所述第三哈希结果中选择q个字节的字符串,包括:
328.从r个字节的字符串中按照从左到右的顺序选择偶数位置的字符作为所述q个字节的字符串;或者,
329.从r个字节的字符串中按照从左到右的顺序选择奇数位置的字符作为所述q个字节的字符串;或者,
330.从r个字节的字符串中按照从右到左的顺序选择偶数位置的字符作为所述q个字节的字符串;或者,
331.从r个字节的字符串中按照从右到左的顺序选择奇数位置的字符作为所述q个字节的字符串。
332.可选的,所述集成电路卡识别码包括p个字节的字符串,所述第一生成单元701根据所述q个字节的字符串和所述集成电路卡识别码生成q个字节的用户特征码,包括:将所述q个字节的字符串中的每个字节转换为数字,得到q个数字;对所述q个数字分别求p的模,得到q个余数;从所述p个字节的字符串中选择与所述q个余数对应的位置的q个字符,基于所述q个字符生成q个字节的用户特征码。
333.其中,本技术实施例中的第一生成单元701、加密单元702、获取单元704、异或处理单元705可以是终端设备中的处理器。传输单元703可以是终端设备中的通信模块。
334.图7所示的支付处理装置700的具体实施可以参见图3至图6中终端设备执行的方法实施例,此处不再赘述。
335.本技术实施例中,用户特征码基于固定偏移量和用户标识生成,由于固定偏移量在版本更新的过程中不会发生变化,每次版本更新无需人工在后台录入新版本的偏移量,从而提高支付处理的便捷度。
336.请参阅图8,图8是本技术实施例提供的另一种支付处理装置的结构示意图,该支付处理装置800应用于服务器,该支付处理装置800可以包括接收单元801、第二生成单元802和解密单元803,其中:
337.所述接收单元801,用于接收来自终端设备的加密后的支付数据;
338.所述第二生成单元802,用于基于特征信息生成用户特征码,所述特征信息包括:用户标识和固定偏移量;
339.所述解密单元803,用于通过所述用户特征码对所述加密后的支付数据进行解密。
340.可选的,所述特征信息还包括手机号码和集成电路卡识别码。
341.该支付处理装置800还可以包括查询单元804、异或处理单元805和存储单元806;
342.可选的,所述接收单元801,还用于接收来自终端设备的第一加密结果;
343.所述解密单元803,还用于解密该第一加密结果得到第一异或结果;
344.所述查询单元804,用于根据设备标识与用户标识的对应关系查询与所述终端设备的设备标识对应的用户标识;
345.所述异或处理单元805,用于将所述设备标识对应的用户标识与所述固定偏移量进行异或处理,得到第三异或结果;
346.所述存储单元806,用于在所述第一异或结果和所述第三异或结果相同的情况下,将所述特征信息加密后存储到数据库中。
347.可选的,所述接收单元801,还用于接收来自终端设备的短信,解密所述短信得到第二异或结果和集成电路卡识别码;
348.所述查询单元804,还用于根据手机号码与用户标识的对应关系查询与所述终端设备的手机号码对应的用户标识;
349.所述异或处理单元805,还用于将所述手机号码对应的用户标识与所述固定偏移量进行异或处理,得到第四异或结果;
350.所述存储单元806,还用于在所述第二异或结果与所述第四异或结果相同的情况下,将所述特征信息加密后存储到数据库中。
351.可选的,所述第二生成单元802基于特征信息生成用户特征码,包括:将固定偏移量与用户标识进行异或处理,得到第五异或结果;将所述第五异或结果进行哈希运算,得到第一哈希结果;按照设定规则从所述第一哈希结果中选择n个字节的字符串,所述用户特征码包括所述n个字节的字符串。
352.可选的,所述第二生成单元802基于特征信息生成用户特征码,包括:将固定偏移量与用户标识进行异或处理,得到第六异或结果;在所述第六异或结果与手机号码的字符串长度相同的情况下,将所述第六异或结果与所述手机号码进行异或处理,得到第七异或结果;将所述第七异或结果进行哈希运算,得到第二哈希结果;按照设定规则从所述第二哈希结果中选择n个字节的字符串;根据所述n个字节的字符串和所述集成电路卡识别码生成n个字节的用户特征码。
353.可选的,所述第二生成单元802基于特征信息生成用户特征码,包括:将固定偏移量与用户标识进行异或处理,得到第六异或结果;在所述第六异或结果与手机号码的字符串长度不相同的情况下,基于所述第六异或结果选择与所述手机号码的字符串长度相同的第一字符串;将所述第一字符串与所述手机号码进行异或处理,得到第八异或结果;将所述第八异或结果进行哈希运算,得到第三哈希结果;按照设定规则从所述第三哈希结果中选择q个字节的字符串;根据所述q个字节的字符串和所述集成电路卡识别码生成q个字节的用户特征码。
354.可选的,所述第二哈希结果包括m个字节的字符串,m等于n的两倍;所述第二生成单元802按照设定规则从所述第二哈希结果中选择n个字节的字符串,包括:
355.从m个字节的字符串中按照从左到右的顺序选择偶数位置的字符作为所述n个字节的字符串;或者,
356.从m个字节的字符串中按照从左到右的顺序选择奇数位置的字符作为所述n个字节的字符串;或者,
357.从m个字节的字符串中按照从右到左的顺序选择偶数位置的字符作为所述n个字节的字符串;或者,
358.从m个字节的字符串中按照从右到左的顺序选择奇数位置的字符作为所述n个字节的字符串。
359.可选的,所述集成电路卡识别码包括p个字节的字符串,所述第二生成单元802根据所述n个字节的字符串和所述集成电路卡识别码生成n个字节的用户特征码,包括:将所述n个字节的字符串中的每个字节转换为数字,得到n个数字;对所述n个数字分别求p的模,得到n个余数;从所述p个字节的字符串中选择与所述n个余数对应的位置的n个字符,基于所述n个字符生成n个字节的用户特征码。
360.可选的,所述第二生成单元802基于所述第六异或结果选择与所述手机号码的字符串长度相同的第一字符串,包括:
361.按照第二设定规则从所述第六异或结果选择与所述手机号码的字符串长度相同的第一字符串。
362.可选的,所述第三哈希结果包括r个字节的字符串,r等于q的两倍;所述第二生成单元802按照设定规则从所述第三哈希结果中选择q个字节的字符串,包括:
363.从r个字节的字符串中按照从左到右的顺序选择偶数位置的字符作为所述q个字节的字符串;或者,
364.从r个字节的字符串中按照从左到右的顺序选择奇数位置的字符作为所述q个字节的字符串;或者,
365.从r个字节的字符串中按照从右到左的顺序选择偶数位置的字符作为所述q个字节的字符串;或者,
366.从r个字节的字符串中按照从右到左的顺序选择奇数位置的字符作为所述q个字节的字符串。
367.可选的,所述集成电路卡识别码包括p个字节的字符串,所述第二生成单元802根据所述q个字节的字符串和所述集成电路卡识别码生成q个字节的用户特征码,包括:将所述q个字节的字符串中的每个字节转换为数字,得到q个数字;对所述q个数字分别求p的模,得到q个余数;从所述p个字节的字符串中选择与所述q个余数对应的位置的q个字符,基于所述q个字符生成q个字节的用户特征码。
368.其中,本技术实施例中的、第二生成单元802、解密单元803、查询单元804、异或处理单元805和存储单元806可以是服务器中的处理器。接收单元801可以是服务器中的通信模块。
369.图8所示的支付处理装置800的具体实施可以参见图3至图6中服务器执行的方法实施例,此处不再赘述。
370.本技术实施例中,服务器和终端设备采用相同的用户特征码进行加密和解密,保证加密和解密的可靠性。用户特征码基于固定偏移量和用户标识生成,由于固定偏移量在版本更新的过程中不会发生变化,每次版本更新无需人工在后台录入新版本的偏移量,从而提高支付处理的便捷度。
371.请参阅图9,图9是本技术实施例提供的一种终端设备的结构示意图,如图9所示,该终端设备900包括处理器901和存储器902,处理器901、存储器902可以通过通信总线903相互连接。通信总线903可以是外设部件互连标准(peripheral component interconnect,pci)总线或扩展工业标准结构(extended industry standard architecture,eisa)总线等。通信总线903可以分为地址总线、数据总线、控制总线等。为便于表示,图9中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。存储器902用于存储计算机程序,计
算机程序包括程序指令,处理器901被配置用于调用程序指令,上述程序包括用于执行图3至图6中终端设备执行的方法中的部分或全部步骤。
372.处理器901可以是通用中央处理器(central processing unit,cpu),微处理器,特定应用集成电路(application-specific integrated circuit,asic),或一个或多个用于控制以上方案程序执行的集成电路。
373.存储器902可以是只读存储器(read-only memory,rom)或可存储静态信息和指令的其他类型的静态存储设备,随机存取存储器(random access memory,ram)或者可存储信息和指令的其他类型的动态存储设备,也可以是电可擦可编程只读存储器(electrically erasable programmable read-only memory,eeprom)、只读光盘(compact disc read-only memory,cd-rom)或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。存储器可以是独立存在,通过总线与处理器相连接。存储器也可以和处理器集成在一起。
374.该终端设备900可以包括显示模组,显示模组可以包括显示屏和背光模组。
375.此外,该终端设备900还可以包括通信模块904,该通信模块904可以是支持短信发送的通信模块,该通信模块904还可以支持与服务器进行有线通信或者无线通信。该终端设备900还可以包括通信接口、天线等通用部件,在此不再详述。
376.本技术实施例中,用户特征码基于固定偏移量和用户标识生成,由于固定偏移量在版本更新的过程中不会发生变化,每次版本更新无需人工在后台录入新版本的偏移量,从而提高支付处理的便捷度。
377.请参阅图10,图10是本技术实施例提供的一种服务器的结构示意图,如图10所示,该服务器1000包括处理器1001和存储器1002,处理器1001、存储器1002可以通过通信总线1003相互连接。通信总线1003可以是外设部件互连标准(peripheral component interconnect,pci)总线或扩展工业标准结构(extended industry standard architecture,eisa)总线等。通信总线1003可以分为地址总线、数据总线、控制总线等。为便于表示,图10中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。存储器1002用于存储计算机程序,计算机程序包括程序指令,处理器1001被配置用于调用程序指令,上述程序包括用于执行图3至图6中服务器执行的方法中的部分或全部步骤。
378.处理器1001可以是通用中央处理器(central processing unit,cpu),微处理器,特定应用集成电路(application-specific integrated circuit,asic),或一个或多个用于控制以上方案程序执行的集成电路。
379.存储器1002可以是只读存储器(read-only memory,rom)或可存储静态信息和指令的其他类型的静态存储设备,随机存取存储器(random access memory,ram)或者可存储信息和指令的其他类型的动态存储设备,也可以是电可擦可编程只读存储器(electrically erasable programmable read-only memory,eeprom)、只读光盘(compact disc read-only memory,cd-rom)或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。存储器可以是独立存在,通过总线与处理器相连接。存储器也可以和处理器集成
在一起。
380.此外,该服务器1000还可以包括通信模块1004,该通信模块1004可以是支持短信接收的通信模块,该通信模块1004还可以支持与终端设备进行有线通信或者无线通信。该服务器1000还可以包括通信接口、天线等通用部件,在此不再详述。
381.本技术实施例中,服务器和终端设备采用相同的用户特征码进行加密和解密,保证加密和解密的可靠性。用户特征码基于固定偏移量和用户标识生成,由于固定偏移量在版本更新的过程中不会发生变化,每次版本更新无需人工在后台录入新版本的偏移量,从而提高支付处理的便捷度。
382.本技术实施例还提供一种计算机可读存储介质,其中,该计算机可读存储介质存储用于电子数据交换的计算机程序,该计算机程序使得计算机执行如上述方法实施例中记载的任何一种支付处理方法的部分或全部步骤。
383.需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本技术并不受所描述的动作顺序的限制,因为依据本技术,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本技术所必须的。
384.在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
385.在本技术所提供的几个实施例中,应该理解到,所揭露的装置,可通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性或其它的形式。
386.所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
387.另外,在申请明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件程序模块的形式实现。
388.所述集成的单元如果以软件程序模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储器中。基于这样的理解,本技术的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储器中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本技术各个实施例所述方法的全部或部分步骤。而前述的存储器包括:u盘、只读存储器(read-only memory,rom)、随机存取存储器(random access memory,ram)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
389.本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可
以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储器中,存储器可以包括:闪存盘、只读存储器、随机存取器、磁盘或光盘等。
390.以上对本技术实施例进行了详细介绍,本文中应用了具体个例对本技术的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本技术的方法及其核心思想;同时,对于本领域的一般技术人员,依据本技术的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本技术的限制。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1