信息加密传输方法、装置及相关设备

文档序号:1953069 发布日期:2021-12-10 浏览:10次 >En<

阅读说明:本技术 信息加密传输方法、装置及相关设备 (Information encryption transmission method, device and related equipment ) 是由 刘晓刚 于 2021-09-01 设计创作,主要内容包括:本申请提供一种信息加密传输方法、装置及相关设备,涉及数据处理领域。本申请中,终端设备可以获取支付密码,并根据支付密码生成第一矩阵,根据第一矩阵和随机生成的第二矩阵生成第三矩阵,根据第三矩阵和预设的码值映射表生成第一字符串,然后向服务器发送第一字符串和第二矩阵。服务器可以根据第一字符串和预设的码值映射表获得第三矩阵,根据第三矩阵和第二矩阵获得第一矩阵,根据第一矩阵获得支付密码。利用该方法可以提高支付密码传输时的安全性。(The application provides an information encryption transmission method, an information encryption transmission device and related equipment, and relates to the field of data processing. In the application, the terminal equipment can obtain the payment password, generate a first matrix according to the payment password, generate a third matrix according to the first matrix and a randomly generated second matrix, generate a first character string according to the third matrix and a preset code value mapping table, and then send the first character string and the second matrix to the server. The server can obtain a third matrix according to the first character string and a preset code value mapping table, obtain a first matrix according to the third matrix and the second matrix, and obtain the payment password according to the first matrix. The method can improve the security of the payment password transmission.)

信息加密传输方法、装置及相关设备

技术领域

本申请涉及数据处理领域,尤其涉及一种信息加密传输方法、装置及相关设备。

背景技术

随着移动互联网的发展,移动支付逐渐成为主流。在进行移动支付时,移动终端(如手机)可以获取用户输入的支付密码,并将支付密码上传到服务器,服务器在验证支付密码正确后可以完成支付。

目前,支付密码一般由0-9之间的六位数字组成,移动终端可以直接将6位数字组成的支付密码上传到服务器,但直接将6位数字组成的支付密码上传到服务器的方式安全性较低,支付密码容易被截取或篡改。

发明内容

本申请提供一种信息加密传输方法、装置及相关设备,可以提高支付密码在传输时的安全性。

第一方面,本申请提供一种信息加密传输方法,该方法应用于支付系统,支付系统包括终端设备和服务器,终端设备和服务器连接;终端设备和服务器中分别预设有相同的码值映射表;该方法包括:

终端设备获取支付密码;终端设备根据支付密码生成第一矩阵;终端设备随机生成第二矩阵,第二矩阵为可逆矩阵,且第二矩阵与第一矩阵相关;终端设备根据第一矩阵和第二矩阵生成第三矩阵;终端设备根据第三矩阵和预设的码值映射表生成第一字符串;终端设备向服务器发送第一字符串和第二矩阵;服务器根据第一字符串和预设的码值映射表获得第三矩阵;服务器根据第三矩阵和第二矩阵获得第一矩阵;服务器根据第一矩阵获得支付密码。

一种可能的实现方式中,第一矩阵的列数与支付密码包括的数字的个数相同,第一矩阵的行数为1;第二矩阵的行数和列数相同,且第二矩阵的行数和列数与第一矩阵的列数相同。

另一种可能的实现方式中,支付密码是0至9之间的数字组成的数字组合;第二矩阵中的每个元素均为整数,且第二矩阵中的每一列元素的和均小于或等于8;码值映射表包括数字部分和码值部分,数字部分包括0至72之间的73个数字,码值部分包括与数字部分的数字一一对应的73个码值。

又一种可能的实现方式中,终端设备根据第三矩阵、以及预设的码值映射表生成第一字符串,包括:终端设备根据第三矩阵、以及预设的码值映射表,分别确定第三矩阵中的每一列的数字在码值映射表中对应的码值;终端设备根据第三矩阵中的每一列的数字在码值映射表中对应的码值,生成第一字符串。

又一种可能的实现方式中,服务器根据第三矩阵和第二矩阵获得第一矩阵,包括:服务器对第二矩阵求逆,得到第二矩阵的逆矩阵;服务器根据第三矩阵和第二矩阵的逆矩阵得到第一矩阵。

又一种可能的实现方式中,终端设备获取支付密码,包括:响应于第一用户账户相关的支付操作,终端设备获取第一用户账户对应的支付密码;码值映射表为第一用户账户对应的码值映射表;不同的用户账户对应的码值映射表不同。

又一种可能的实现方式中,终端设备向服务器发送第一字符串和第二矩阵,包括:终端设备根据预设的加密秘钥对第一字符串和第二矩阵进行加密,得到第一报文;终端设备向服务器发送第一报文;服务器根据第一字符串和预设的码值映射表获得第三矩阵之前,方法还包括:服务器根据加密秘钥对第一报文进行解密,得到第一字符串和第二矩阵。

本申请提供的信息加密传输方法,可以将获取到的支付密码转换为第一矩阵,并随机生成第二矩阵,根据第一矩阵和随机生成的第二矩阵得到第三矩阵,将第三矩阵按照预设的码值映射表映射为第一字符串,可以使得终端设备在向服务器发送支付密码时基于随机生成的第二矩阵和预设的码值映射表对支付密码进行加密,支付密码在传输过程中不易被截取或篡改,提高了支付密码传输时的安全性。服务器在接收到终端设备发送的第一字符串和第二矩阵之后,还可以根据预设的码值映射表解析出第三矩阵,根据第三矩阵和第二矩阵的逆矩阵解析出第一矩阵,根据第一矩阵获得支付密码。如果终端设备向服务器发送的信息被截取,解析出来的也是加密之后的第一字符串,而不是支付密码,可以避免其他没有码值映射表的设备获取支付密码,提高了支付密码传输时的安全性。对于同一个用户账户而言,由于每一次支付请求或支付过程中,第二矩阵都是随机生成的,所以,每一次对支付密码的加密结果都不一样,安全性可以更高。

另外,终端设备还可以根据加密秘钥对第一字符串和第二矩阵共同加密得到第一报文,也即,终端设备向服务器发送的是加密后的第一字符串和第二矩阵。又因为第一字符串也是终端设备根据码值映射表对第三矩阵加密得到的,所以本申请实施例提供的信息加密传输方法,可以实现双重加密。服务器接收到第一报文之后,可以根据加密秘钥对第一报文进行解密,得到第一字符串和第二矩阵,可以避免其他没有加密秘钥的设备获取第一字符串和第二矩阵,进一步提高了支付密码传输时的安全性。

第二方面,本申请提供一种信息加密传输方法,该方法应用于终端设备,终端设备与服务器连接,该方法包括:

获取支付密码;根据支付密码生成第一矩阵;随机生成第二矩阵,第二矩阵为可逆的矩阵,且第二矩阵与第一矩阵相关;根据第一矩阵和第二矩阵生成第三矩阵;根据第三矩阵和预设的码值映射表生成第一字符串;向服务器发送第一字符串和第二矩阵。

一种可能的实现方式中,第一矩阵的列数与支付密码包括的数字的个数相同,第一矩阵的行数为1;第二矩阵的行数和列数相同,且第二矩阵的行数和列数与第一矩阵的列数相同。

另一种可能的实现方式中,支付密码是0至9之间的数字组成的数字组合;第二矩阵中的每个元素均为整数,且第二矩阵中的每一列元素的和均小于或等于8;码值映射表包括数字部分和码值部分,数字部分包括0至72之间的73个数字,码值部分包括与数字部分的数字一一对应的73个码值。

又一种可能的实现方式中,根据第三矩阵、以及预设的码值映射表生成第一字符串,包括:根据第三矩阵、以及预设的码值映射表,分别确定第三矩阵中的每一列的数字在码值映射表中对应的码值;根据第三矩阵中的每一列的数字在码值映射表中对应的码值,生成第一字符串。

又一种可能的实现方式中,获取支付密码,包括:响应于第一用户账户相关的支付操作,获取第一用户账户对应的支付密码;码值映射表为第一用户账户对应的码值映射表;不同的用户账户对应的码值映射表不同。

又一种可能的实现方式中,向服务器发送第一字符串和第二矩阵,包括:根据预设的加密秘钥对第一字符串和第二矩阵进行加密,得到第一报文;向服务器发送第一报文。

第三方面,本申请提供一种信息加密传输方法,该方法应用于服务器,服务器与终端设备连接,该方法包括:

接收终端设备发送的第一字符串和第二矩阵,第一字符串是终端设备根据第三矩阵和预设的码值映射表生成的,第三矩阵是终端设备根据第二矩阵和第一矩阵生成的;第二矩阵是终端设备随机生成的,第二矩阵为可逆的矩阵,且第二矩阵与第一矩阵相关,第一矩阵是终端设备根据支付密码生成的;根据第一字符串和预设的码值映射表获得第三矩阵;根据第三矩阵和第二矩阵获得第一矩阵;根据第一矩阵获得支付密码。

一种可能的实现方式中,根据第三矩阵和第二矩阵获得第一矩阵,包括:对第二矩阵求逆,得到第二矩阵的逆矩阵;根据第三矩阵和第二矩阵的逆矩阵得到第一矩阵。

另一种可能的实现方式中,根据第一字符串和预设的码值映射表获得第三矩阵之前,该方法还包括:接收终端设备发送的第一报文,第一报文是上述终端设备根据预设的加密秘钥对第一字符串和第二矩阵进行加密得到的;根据加密秘钥对第一报文进行解密,得到第一字符串和第二矩阵。

第四方面,本申请提供一种信息加密传输装置,该装置应用于终端设备,该装置包括:获取模块、处理模块、以及发送模块;

获取模块,用于获取支付密码;处理模块,用于根据支付密码生成第一矩阵;随机生成第二矩阵,第二矩阵为可逆矩阵,且第二矩阵与第一矩阵相关;根据第一矩阵和第二矩阵生成第三矩阵;根据第三矩阵和预设的码值映射表生成第一字符串;发送模块,用于向服务器发送第一字符串和第二矩阵。

一种可能的实现方式中,第一矩阵的列数与支付密码包括的数字的个数相同,第一矩阵的行数为1;第二矩阵的行数和列数相同,且第二矩阵的行数和列数与第一矩阵的列数相同。

另一种可能的实现方式中,支付密码是0至9之间的数字组成的数字组合;第二矩阵中的每个元素均为整数,且第二矩阵中的每一列元素的和均小于或等于8;码值映射表包括数字部分和码值部分,数字部分包括0至72之间的73个数字,码值部分包括与数字部分的数字一一对应的73个码值。

又一种可能的实现方式中,处理模块,具体用于根据第三矩阵、以及预设的码值映射表,分别确定第三矩阵中的每一列的数字在码值映射表中对应的码值;根据第三矩阵中的每一列的数字在码值映射表中对应的码值,生成第一字符串。

又一种可能的实现方式中,获取模块,具体用于响应于第一用户账户相关的支付操作,获取第一用户账户对应的支付密码;码值映射表为第一用户账户对应的码值映射表;不同的用户账户对应的码值映射表不同。

又一种可能的实现方式中,处理模块,具体用于根据预设的加密秘钥对第一字符串和第二矩阵进行加密,得到第一报文;发送模块,具体用于向服务器发送第一报文。

第五方面,本申请提供一种信息加密传输装置,该装置应用于服务器,该装置包括:获取模块和处理模块;

获取模块,用于接收终端设备发送的第一字符串和第二矩阵,第一字符串是终端设备根据第三矩阵和预设的码值映射表生成的,第三矩阵是终端设备根据第二矩阵和第一矩阵生成的;第二矩阵是终端设备随机生成的,第二矩阵为可逆的矩阵,且第二矩阵与第一矩阵相关,第一矩阵是终端设备根据支付密码生成的;处理模块,用于根据第一字符串和预设的码值映射表获得第三矩阵;根据第三矩阵和第二矩阵获得第一矩阵;根据第一矩阵获得支付密码。

一种可能的实现方式中,处理模块,具体用于对第二矩阵求逆,得到第二矩阵的逆矩阵;根据第三矩阵和第二矩阵的逆矩阵得到第一矩阵。

另一种可能的实现方式中,获取模块,还用于接收终端设备发送的第一报文,第一报文是上述终端设备根据预设的加密秘钥对第一字符串和第二矩阵进行加密得到的;处理模块,具体用于根据加密秘钥对第一报文进行解密,得到第一字符串和第二矩阵。

第六方面,本申请提供一种电子设备,该电子设备包括:处理器和存储器;存储器存储有处理器可执行的指令;处理器被配置为执行指令时,使得电子设备实现上述第二或第三方面所述的方法。

第七方面,本申请提供一种计算机可读存储介质,该计算机可读存储介质包括:计算机软件指令;当计算机软件指令在电子设备中运行时,使得电子设备实现上述第二或第三方面所述的方法。

上述第二方面至第七方面的有益效果可以参考第一方面所述,不再赘述。

附图说明

为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本申请实施例提供的一种支付系统的组成示意图;

图2为本申请实施例提供的信息加密传输方法的流程示意图;

图3为本申请实施例提供的信息加密传输方法的另一种流程示意图;

图4为本申请实施例提供的信息加密传输装置的组成示意图

图5为本申请实施例提供的信息加密传输装置的一种组成示意图;

图6为本申请实施例提供的电子设备的结构示意图。

具体实施方式

下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。

需要说明的是,本申请实施例中,“示例性地”或者“例如”等词用于表示作例子、例证或说明。本申请实施例中被描述为“示例性地”或者“例如”的任何实施例或设计方案不应被解释为比其它实施例或设计方案更优选或更具优势。确切而言,使用“示例性地”或者“例如”等词旨在以具体方式呈现相关概念。

为了便于清楚描述本申请实施例的技术方案,在本申请的实施例中,采用了“第一”、“第二”等字样对功能和作用基本相同的相同项或相似项进行区分,本领域技术人员可以理解“第一”、“第二”等字样并不是在对数量和执行次序进行限定。

随着移动互联网的发展,移动支付逐渐成为主流。在进行移动支付时,移动终端(如手机)可以获取用户输入的支付密码,并将支付密码上传到服务器,服务器在验证支付密码正确后可以完成支付。

目前,支付密码一般由0-9之间的六位数字组成,移动终端可以直接将6位数字组成的支付密码上传到服务器,但直接将6位数字组成的支付密码上传到服务器的方式安全性较低,支付密码容易被截取或篡改。

在此背景技术下,本申请实施例提供一种信息加密传输方法,该方法中,终端设备(或称为移动终端)可以对支付密码进行加密,并向服务器上传加密后的支付密码。服务器可以接收终端设备上传的加密后的支付密码并验证,以确定是否完成支付。该方法可以提高支付密码在传输时的安全性。

其中,终端设备具有移动支付功能,终端设备可以通过有线网络或无线网络与服务器连接。服务器可以是为终端设备提供移动支付功能的后台服务器。

示例性地,图1为本申请实施例提供的一种支付系统的组成示意图。如图1所示,支付系统可以包括:终端设备101和服务器102,终端设备101和服务器102通过有线网络或无线网络连接。

可选地,终端设备101可以是手机、平板电脑、可穿戴设备、车载设备、增强现实(augmented reality,AR)/虚拟现实(virtual reality,VR)设备、笔记本电脑、超级移动个人计算机(ultra-mobile personal computer,UMPC)、上网本、个人数字助理(personaldigital assistant,PDA)等具有移动支付功能的设备。本申请实施例对终端设备101的具体设备形态不作限制。

可选地,服务器102可以是单独的一个服务器,或者,也可以是由多个服务器构成的服务器集群。部分实施方式中,服务器集群还可以是分布式集群。本申请对服务器102的具体设备形态不作限制。

一些可能的实施例中,终端设备101上可以安装有支付应用,该支付应用可以为终端设备101提供移动支付功能。例如,支付应用可以是银行或第三方金融机构开发的具有移动支付功能的应用程序。也即,终端设备101的移动支付功能可以通过在终端设备101上安装的支付应用来实现。

服务器102可以是上述支付应用对应的后台服务器,服务器102可以提供支付功能。

例如,用户可以在终端设备101上打开/启动支付应用,并在支付应用上登陆自己的用户账户(或称为第一用户账户),并进行支付操作。终端设备101可以响应于用户在支付应用上的支付操作,向服务器102发送支付请求,支付请求可以包括支付密码。服务器102可以预设有用户账户对应的支付密码。服务器102可以验证支付请求中包括的支付密码与预设的第一用户账户对应的支付密码是否一致。当预设的第一用户账户对应的支付密码和支付请求中包括的支付密码一致时,服务器102可以响应于该支付请求完成支付,并向终端设备101通知支付结果。也即,第一用户账户和支付密码具有对应关系。

本申请实施例提供的信息加密传输方法可以应用于上述图1所示的支付系统中。图2为本申请实施例提供的信息加密传输方法的流程示意图。如图2所示,该方法可以包括S201至S209。

S201、终端设备获取支付密码。

一些可的实施例中,终端设备获取支付密码,包括:终端设备响应于用户的支付操作,显示支付密码输入界面;终端设备接收用户在支付密码输入界面输入的支付密码。

另一些可能的实施例中,终端设备获取支付密码,包括:终端设备响应于用户的支付操作,获取预设的支付密码。(例如现有的免密支付方式,终端设备响应于用户的支付操作,无需用户输入支付密码,自动获取预设的支付密码)。

又一些可能的实施例中,终端设备获取支付密码,包括:终端设备响应于用户的支付操作,显示指纹验证界面;终端设备接收用户在指纹验证界面输入的指纹信息;终端设备根据指纹信息、以及预设的指纹信息和支付密码的对应关系,确定指纹信息对应的支付密码。

又一些可能的实施例中,终端设备获取支付密码,包括:终端设备响应于用户的支付操作,显示人脸识别界面;终端设备接收用户在人脸识别界面输入的人脸图像信息;终端设备根据人脸图像信息、以及预设的人脸图像信息和支付密码的对应关系,确定人脸图像信息对应的支付密码。

示例性地,上述支付操作可以是用户在支付应用中的转账操作,或者用户扫描支付二维码进行支付的操作等。本申请实施例对支付操作的具体类型不作限制。

S202、终端设备根据支付密码生成第一矩阵。

一种可能的实现方式中,支付密码可以是0至9之间的10个数字组成的数字组合。第一矩阵的行数可以为1,第一矩阵的列数可以和支付密码包括的数字的个数相同。

示例性地,支付密码可以是0至9之间的10个数字组成的六位数字组合。第一矩阵可以是根据前述数字组合中的六位数字生成的一行六列的矩阵。

一种可能的实现方式中,上述终端设备根据支付密码生成第一矩阵,包括:终端设备按照支付密码中的数字之间的排列顺序,将支付密码中的数字依次作为构成矩阵的元素,得到第一矩阵。

例如,假设S201中终端设备获取到的支付密码为“112066”,则S202中终端设备可以按照“112066”中的数字之间的排列顺序,将“112066”中的数字依次作为构成矩阵的元素,得到下述矩阵1作为第一矩阵:

矩阵1=[1 1 2 0 6 6]。

S203、终端设备随机生成第二矩阵。

其中,第二矩阵与第一矩阵相关,第二矩阵为可逆矩阵(也即第一矩阵的行列式不为0)。

一种可能的实现方式中,第二矩阵与第一矩阵相关,包括:第二矩阵的行数和列数相同,且第二矩阵的行数和列数与第一矩阵的列数相同。例如,以第一矩阵为一行六列的矩阵为例,则第二矩阵可以是六行六列的矩阵。

可以理解的是,S203可以在S201之前执行;或者,S203在S201之后、S202之前执行;又或者,S203在S202之后、S204之前执行。本申请实施例对S203执行的时序不作限制。

S204、终端设备根据第一矩阵和第二矩阵生成第三矩阵。

一种可能的实现方式中,所述根据第一矩阵和第二矩阵生成第三矩阵,包括:将第一矩阵和第二矩阵相乘得到第三矩阵。

示例性地,假设随机生成的第二矩阵为下述矩阵2:

同样以上述支付密码为“112066”,根据支付密码“112066”生成的第一矩阵为矩阵1=[1 1 2 0 6 6]为例,则第一矩阵和第二矩阵相乘可以得到如下矩阵3作为第三矩阵:

矩阵

S205、终端设备根据第三矩阵和预设的码值映射表生成第一字符串。

一种可能的实现方式中,支付密码是0-9之间的数字组成的数字组合时,第二矩阵中的每个元素均为整数,第二矩阵中的每一列元素的和均小于或等于8。码值映射表可以包括数字部分和码值部分。数字部分包括0至72共73个数字。码值部分包括数字码值、小写字母码值、大写字母码值、以及特殊符号码值。数字码值包括10个码值,依次为0至9之间的十个数字。小写字母码值包括26个码值,依次为a至z的26个小写字母。大写字母码值包括26个码值,依次为A至Z的26个大写字母。特殊符号码值包括11个码值,依次为“!”、“@”、“#”、“¥”、“%”、“^”、“&”、“*”、“_”、“+”、以及“=”共11个特殊符号。数字部分的73个数字和码值部分的73个码值一一对应。

示例性地,码值映射表可以如表1所示。

表1

数字 0 1 2 3 12 15 60 71 72
码值 0 1 2 3 c f Y +

如表1所示,码值映射表可以包括数字部分和码值部分,数字部分包括0至72共73个数字。码值部分包括数字码值、小写字母码值、大写字母码值、以及特殊符号码值。码值部分按照数字码值、小写字母码值、大写字母码值、以及特殊符号码值的顺序依次排列。数字码值包括10个码值,依次为0至9之间的十个数字。小写字母码值包括26个码值,依次为a至z的26个小写字母。大写字母码值包括26个码值,依次为A至Z的26个大写字母。特殊符号码值包括11个码值,依次为“!”、“@”、“#”、“¥”、“%”、“^”、“&”、“*”、“_”、“+”、以及“=”共11个特殊符号。其中,数字“0”和码值“0”对应,数字“1”和码值“1”对应,数字“2”和码值“2”对应,数字“3”和码值“3”对应,…,数字“12”和码值“c”对应,…,数字“15”和码值“f”对应,…,数字“60”和码值“Y”对应,…,数字“71”和码值“+”对应,数字“72”和码值“=”对应。

一些可能的实施例中,基于上述用户可以首先打开支付应用,在支付应用上登陆自己的用户账户(或称为第一用户账户),并进行支付操作的理解,上述S201中的终端设备获取支付密码的步骤,可以包括:响应于第一用户账户相关的支付操作,终端设备获取第一用户账户对应的支付密码;上述码值映射表可以是第一用户账户对应的码值映射表;不同的用户账户对应的码值映射表可以不同。

可选地,不同的用户账户对应的码值映射表不同,可以包括:不同的用户账户对应的码值映射表中的数字部分和码值部分的一一对应关系不同。

示例性地,以用户账户1对应的码值映射表为上述表1为例,则用户账户2对应的码值映射表可以如下述表2所示。

表2

数字 0 1 2 3 12 15 60 71 72
码值 9 8 7 6 c f Y +

如表2所示,用户账户2对应的码值映射表可以包括数字部分和码值部分,数字部分包括0至72共73个数字。码值部分包括数字码值、小写字母码值、大写字母码值、以及特殊符号码值。码值部分按照数字码值、小写字母码值、大写字母码值、以及特殊符号码值的顺序依次排列。数字码值包括10个码值,依次为9至0之间的十个数字。小写字母码值包括26个码值,依次为a至z的26个小写字母。大写字母码值包括26个码值,依次为A至Z的26个大写字母。特殊符号码值包括11个码值,依次为“!”、“@”、“#”、“¥”、“%”、“^”、“&”、“*”、“_”、“+”、以及“=”共11个特殊符号。其中,数字“0”和码值“9”对应,数字“1”和码值“8”对应,数字“2”和码值“7”对应,数字“3”和码值“6”对应,…,数字“12”和码值“c”对应,…,数字“15”和码值“f”对应,…,数字“60”和码值“Y”对应,…,数字“71”和码值“+”对应,数字“72”和码值“=”对应。

一种可能的实现方式中,上述终端设备根据第三矩阵和预设的码值映射表生成第一字符串,可以包括:终端设备根据第三矩阵、以及预设的码值映射表,分别确定第三矩阵中的每一列的数字在码值映射表中对应的码值;终端设备根据第三矩阵中的每一列的数字在码值映射表中对应的码值,生成第一字符串。

例如,同样以上述用户账户1的支付密码为“112066”,根据支付密码“112066”生成的第一矩阵为矩阵1,随机生成的第二矩阵为矩阵2,根据第一矩阵和第二矩阵相乘得到的第三矩阵为矩阵3为例,假设用户账户1对应的码值映射表为上述表1,则根据矩阵3=[1213 15 28 22 48]、以及表1,可以得到矩阵3中第一列的数字“12”在表1中对应的码值为“c”,矩阵3中第二列的数字“13”在表1中对应的码值为“d”,矩阵3中第三列的数字“15”在表1中对应的码值为“f”,矩阵3中第四列的数字“28”在表1中对应的码值为“t”,矩阵3中第五列的数字“22”在表1中对应的码值为“m”,矩阵3中第六列的数字“48”在表1中对应的码值为“M”。在得到矩阵3中的每个数字对应的码值后,可以根据矩阵3中的每一列数字在用户账户1对应的码值映射表中对应的码值“c”、“d”、“f”、“t”、“m”、以及“M”生成第一字符串。

可选地,终端设备根据第三矩阵中的每一列的数字在码值映射表中对应的码值,生成第一字符串,可以包括:终端设备将第三矩阵中的每一列的数字在码值映射表中对应的码值串联,生成第一字符串。

示例性地,同样以上述矩阵3中的每一列数字在用户账户1对应的码值映射表中对应的码值为“c”、“d”、“f”、“t”、“m”、以及“M”为例,则终端设备将第三矩阵中的每一列的数字在码值映射表中对应的码值串联,可以得到“cdftmM”作为第一字符串。

又例如,同样以第一矩阵上述矩阵1为例,假设用户账户1对应的码值映射表为上述表1,并且第一矩阵和随机生成的第二矩阵相乘得到的第三矩阵为矩阵4=[3 12 15 060 71],则根据矩阵4、以及表1,可以得到矩阵4中第一列数字“3”在表1中对应的码值为“3”,矩阵4中第二列数字“12”在表1中对应的码值为“c”,矩阵4中第三列数字“15”在表1中对应的码值为“f”,矩阵4中第四列数字“0”在表1中对应的码值为“0”,矩阵4中第五列数字“60”在表1中对应的码值为“+”,矩阵4中第六列数字“71”在表1中对应的码值为“3”。将矩阵4中的每一列数字在用户账户1对应的表1中对应的码值“3”、“c”、“f”、“0”、“Y”、以及“+”串联,得到“3cf0Y+”作为第一字符串。

需要说明的是,上述生成第一字符串的过程,虽然是以将第三矩阵中的每一列数字在码值映射表中对应的码值串联为例进行说明,但本申请实施例并不对终端设备根据第三矩阵中的每一列的数字在码值映射表中对应的码值,生成第一字符串的具体方式进行限制。例如,终端设备根据第三矩阵中的每一列的数字在码值映射表中对应的码值,生成第一字符串,还可以是先将第三矩阵中的每一列的数字在码值映射表中对应的码值串联,然后再按照相反的顺序排列,得到第一字符串;或者,将第三矩阵中的每一列的数字在码值映射表中对应的码值按照其他的排列规则进行排列,得到第一字符串。

可以理解的是,当终端设备按照不同的排列规则将第三矩阵中的每一列的数字在码值映射表中对应的码值进行排列,得到第一字符串,并向服务器发送第一字符串。服务器可以根据相同的排列规则对第一字符串进行反向解析。

S206、终端设备向服务器发送第一字符串和第二矩阵。

对应地,服务器接收终端设备发送的第一字符串和第二矩阵。

S207、服务器根据第一字符串和预设的码值映射表获得第三矩阵。

示例性地,同样以上述用户账户1对应的码值映射表为表1为例,假设接收终端设备发送的第一字符串为“3cf0Y+”,并且终端设备根据第三矩阵中的每一列的数字在码值映射表中对应的码值,生成第一字符串的具体方式为将上述码值串联,则根据“3cf0Y+”、以及表1,可以得到字符串中第一个字符(码值)“3”在表1中对应的数字为“3”,字符串中第二个字符(码值)“c”在表1中对应的数字为“12”,字符串中第三个字符(码值)“f”在表1中对应的数字为“15”,字符串中第四个字符(码值)“0”在表1中对应的数字为“0”,字符串中第五个字符(码值)“Y”在表1中对应的数字为“60”,字符串中第六个字符(码值)“+”在表1中对应的数字为“71”。将“3cf0Y+”中每一个字符(码值)在表1中对应的数字“3”、“12”、“15”、“0”、“60”、以及“71”作为组成矩阵的元素依次排列,得到第三矩阵为[3,12,15,0,60,71]。

需要说明的是,针对同一个用户账号,服务器和终端设备中预设的码值映射表应当相同。

S208、服务器根据第三矩阵和第二矩阵获得第一矩阵。

例如,服务器可以先对第二矩阵求逆,得到第二矩阵的逆矩阵;然后,服务器可以将第三矩阵和第二矩阵的逆矩阵相乘得到第一矩阵。

示例性地,同样以上述第二矩阵为矩阵2,第三矩阵为矩阵3为例,则第二矩阵的逆矩阵可以如下述矩阵2-1所示:

矩阵

将矩阵3和矩阵2-1相乘得到矩阵1(第一矩阵):

矩阵

S209、服务器根据第一矩阵获得支付密码。

一种可能的实现方式中,服务器根据第一矩阵获得支付密码,包括:服务器按照第一矩阵中的元素(数字)排列顺序,将第一矩阵中的元素(数字)依次作为组成支付密码的数字,得到支付密码。示例性地,同样以上述将矩阵3矩阵2-1相乘得到的矩阵1(第一矩阵)为[1,1,2,0,6,6]为例,则服务器按照矩阵1中的元素(数字)排列顺序,将第一矩阵中的元素(数字)依次作为组成支付密码的数字,得到支付密码“112066”。

本申请实施例提供的信息加密传输方法,可以将获取到的支付密码转换为第一矩阵,并随机生成第二矩阵,根据第一矩阵和随机生成的第二矩阵得到第三矩阵,将第三矩阵按照预设的码值映射表映射为第一字符串,可以使得终端设备在向服务器发送支付密码时基于随机生成的第二矩阵和预设的码值映射表对支付密码进行加密,支付密码在传输过程中不易被截取或篡改,提高了支付密码传输时的安全性。服务器在接收到终端设备发送的第一字符串和第二矩阵之后,还可以根据预设的码值映射表解析出第三矩阵,根据第三矩阵和第二矩阵的逆矩阵解析出第一矩阵,根据第一矩阵获得支付密码。如果终端设备向服务器发送的信息被截取,解析出来的也是加密之后的第一字符串,而不是支付密码,可以避免其他没有码值映射表的设备获取支付密码,提高了支付密码传输时的安全性。

另外,对于同一个用户账户而言,由于每一次支付请求或支付过程中,第二矩阵都是随机生成的,所以,每一次对支付密码的加密结果都不一样,安全性可以更高。

本申请实施例还提供一种信息加密传输方法,图3为本申请实施例提供的信息加密传输方法的另一种流程示意图。如图3所示,该信息加密传输方法可以包括:S301至S311。

S301、终端设备获取支付密码。

S302、终端设备根据支付密码生成第一矩阵。

S302、终端设备随机生成第二矩阵。

S304、终端设备根据第一矩阵和第二矩阵生成第三矩阵。

S305、终端设备根据第三矩阵和预设的码值映射表生成第一字符串。

其中,S301至S305请参考前述实施例中所述的S201至S205,不再赘述。

S306、终端设备根据预设的加密秘钥对第一字符串和第二矩阵进行加密,得到第一报文。

也即,终端设备向服务器发送第一字符串和第二矩阵的步骤可以包括:终端设备先根据加密秘钥对第一字符串和第二矩阵进行加密,得到第一报文,然后向服务器发送第一报文。

一些可能的实施例中,同样基于上述用户可以首先打开支付应用,在支付应用上登陆自己的用户账户(或称为第一用户账户),并进行支付操作的理解,上述终端设备根据预设的加密秘钥对第一字符串和第二矩阵进行加密,得到第一报文步骤中的加密秘钥,可以是第一用户账户对应的加密秘钥;不同的用户账户对应的加密秘钥可以不同。

可选地,第一用户账户对应的加密秘钥也可以不同。也即,第一用户账户在每次进行支付操作时,终端设备都可以随机生成一个加密秘钥,并向服务器发送随机生成的加密秘钥。

示例性地,用户账户1在上午进行了一次支付操作,终端设备随机生成加密秘钥1,利用加密秘钥1对第一字符串和第二矩阵进行加密,得到第一报文1;用户账户1在下午又进行了一次支付操作,终端设备随机生成加密秘钥2,利用加密秘钥2对第一字符串和第二矩阵进行加密,得到第一报文。

S307、终端设备向服务器发送第一报文。

S308、服务器根据预设的加密秘钥对第一报文进行解密,得到第一字符串和第二矩阵。

也即,服务器接收终端设备发送的第一字符串和第二矩阵的步骤可以包括:服务器先接收终端设备发送的第一报文,然后根据加密秘钥对第一报文进行解密,得到第一字符串和第二矩阵。

其中,服务器中预设的加密秘钥可以与终端设备中预设的加密秘钥相同。

S309、服务器根据第一字符串和预设的码值映射表获得第三矩阵。

S310、服务器根据第三矩阵和第二矩阵的逆矩阵获得第一矩阵。

S311、服务器根据第一矩阵获得支付密码。

本申请实施例中,终端设备还可以根据加密秘钥对第一字符串和第二矩阵共同加密得到第一报文,也即,终端设备向服务器发送的是加密后的第一字符串和第二矩阵。又因为第一字符串也是终端设备根据码值映射表对第三矩阵加密得到的,所以本申请实施例提供的信息加密传输方法,可以实现双重加密。服务器接收到第一报文之后,可以根据加密秘钥对第一报文进行解密,得到第一字符串和第二矩阵,可以避免其他没有加密秘钥的设备获取第一字符串和第二矩阵,进一步提高了支付密码传输时的安全性。

另外,本申请实施例中,对于不同的用户账户而言,不同的用户账户可以对应不同的加密秘钥。即使一个用户账户对应的加密秘钥被截取破解,也无法威胁到其他的用户账户的财产安全,提高了支付密码传输时的安全性。

本申请实施例还提供一种支付系统,包括终端设备和服务器,终端设备和服务器连接,终端设备和服务器配合实现上述实施例中所述的信息加密传输方法。

本申请实施例还提供一种信息加密传输装置,该装置应用于终端设备。图4为本申请实施例提供的信息加密传输装置的组成示意图。如图4所示,该装置可以包括:获取模块401、处理模块402、以及发送模块403;

获取模块401,用于获取支付密码;处理模块402,用于根据支付密码生成第一矩阵;随机生成第二矩阵,第二矩阵为可逆矩阵,且第二矩阵与第一矩阵相关;根据第一矩阵和第二矩阵生成第三矩阵;根据第三矩阵和预设的码值映射表生成第一字符串;发送模块403,用于向服务器发送第一字符串和第二矩阵。

一些可能的实施例中,第一矩阵的列数与支付密码包括的数字的个数相同,第一矩阵的行数为1;第二矩阵的行数和列数相同,且第二矩阵的行数和列数与第一矩阵的列数相同。

另一些可能的实施例中,支付密码是0至9之间的数字组成的数字组合;第二矩阵中的每个元素均为整数,且第二矩阵中的每一列元素的和均小于或等于8;码值映射表包括数字部分和码值部分,数字部分包括0至72之间的73个数字,码值部分包括与数字部分的数字一一对应的73个码值。

又一些可能的实施例中,处理模块402,具体用于根据第三矩阵、以及预设的码值映射表,分别确定第三矩阵中的每一列的数字在码值映射表中对应的码值;根据第三矩阵中的每一列的数字在码值映射表中对应的码值,生成第一字符串。

又一些可能的实施例中,获取模块401,具体用于响应于第一用户账户相关的支付操作,获取第一用户账户对应的支付密码;码值映射表为第一用户账户对应的码值映射表;不同的用户账户对应的码值映射表不同。

又一些可能的实施例中,处理模块402,具体用于根据预设的加密秘钥对第一字符串和第二矩阵进行加密,得到第一报文;发送模块403,具体用于向服务器发送第一报文。

本申请实施例还提供一种信息加密传输装置,该装置应用于服务器。图5为本申请实施例提供的信息加密传输装置的一种组成示意图。如图5所示,该装置可以包括:获取模块501、处理模块502;

获取模块501,用于接收所述终端设备发送的第一字符串和第二矩阵,所述第一字符串是所述终端设备根据第三矩阵和预设的码值映射表生成的,所述第三矩阵是所述终端设备根据所述第二矩阵和第一矩阵生成的;所述第二矩阵是所述终端设备随机生成的,所述第二矩阵为可逆的矩阵,且所述第二矩阵与第一矩阵相关,所述第一矩阵是所述终端设备根据支付密码生成的;处理模块502,用于根据第一字符串和预设的码值映射表获得第三矩阵;根据第三矩阵和第二矩阵获得第一矩阵;根据第一矩阵获得支付密码。

一些可能的实施例中,处理模块502,具体用于对第二矩阵求逆,得到第二矩阵的逆矩阵;根据第三矩阵和第二矩阵的逆矩阵得到第一矩阵。

另一些可能的实施例中,获取模块501,还用于接收终端设备发送的第一报文,第一报文是上述终端设备根据预设的加密秘钥对第一字符串和第二矩阵进行加密得到的;处理模块502,具体用于根据加密秘钥对第一报文进行解密,得到第一字符串和第二矩阵。

本申请实施例还提供一种电子设备,该电子设备可以应用于终端设备或服务器。图6为本申请实施例提供的电子设备的结构示意图。如图6所示,该电子设备可以包括:处理器601和存储器602;存储器存602储有处理器601可执行的指令;处理器601被配置为执行指令时,使得电子设备实现如前述实施例中终端设备所执行的步骤或服务器所执行的步骤。

在示例性的实施例中,本申请实施例还提供一种计算机可读存储介质,其上存储有计算机程序指令;当所述计算机程序指令被电子设备执行时,使得电子设备实现如前述实施例中终端设备所执行的步骤或服务器所执行的步骤。

计算机可读存储介质可以是非临时性计算机可读存储介质,例如,所述非临时性计算机可读存储介质可以是ROM、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等。

以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何在本申请揭露的技术范围内的变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应该以权利要求的保护范围为准。

23页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:一种登录安全验证方法及系统

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!

技术分类