掌桥专利:专业的专利平台
掌桥专利
首页

一种基于图片编码进行支付验证的方法及系统

文献发布时间:2023-06-19 12:10:19


一种基于图片编码进行支付验证的方法及系统

技术领域

本发明涉及电子支付安全技术领域,尤指一种基于图片编码进行支付验证的方法及系统。

背景技术

随着互联网金融蓬勃发展,线上金融业务已成为当下金融交易的热点地带。但随着线上金融业务的兴起,大多数银行手机银行APP通过密码、短息验证码等方式进行交易支付,但由于传输过程不安全性,常导致密码泄露导致的信息安全事件,对用户账户及资金安全造成巨大影响。

综上来看,亟需一种可以克服上述缺陷,能够提高增强密码传输、验证环节安全性的技术方案。

发明内容

为解决现有技术存在的问题,本发明提出了一种基于图片编码进行支付验证的方法及系统。本发明采用新型密码安全传输方式,当用户进行登录或交易时,输入密码后,在前端将其转化为二进制流,并按照约定的图片的任意位置的二进制流进行异或,得到的异或后新的二进制流,并将其替换成图片对应位置的二进制流,进行传输。当后台接收到图片后,根据约定的图片,与收到的图片进行异或,此时除了修改部分以外,其他部分均为相同,提高两张图片异或后的值,就能反解出原密码,完成本次支付校验验证;整体过程可以有效解决密码传输过程中的泄露问题,增强密码传输、验证环节的安全性。

在本发明实施例的第一方面,提出了一种基于图片编码进行支付验证的方法,该方法包括:

选取一张原图片,将所述原图片分别保存在用户端及支付验证端;

当用户端发起支付验证时,获取用户输入的支付密码,将支付密码的每位字符转换为数字代码;

将数字代码与原图片转换的编码流中的一组编码进行逻辑运算,根据逻辑运算结果对原图片中的该组编码进行替换,生成新图片并发送至支付验证端;

在支付验证端收到新图片后,将新图片转换的编码流与保存的原图片转换的编码流进行逻辑运算,根据逻辑运算结果提取出用户输入的支付密码所对应的数字代码;

根据数字代码反解出用户输入的支付密码,并与初始密码进行比对,若验证通过则继续处理本次支付交易。

进一步的,当用户端发起支付验证时,获取用户输入的支付密码,将支付密码的每位字符转换为数字代码,包括:

根据ASCII编码,将支付密码的每位字符转换为数字代码,并将数字代码转换为二进制代码。

进一步的,将数字代码与原图片转换的编码流中的一组编码进行逻辑运算,根据逻辑运算结果对原图片中的该组编码进行替换,生成新图片并发送至支付验证端,包括:

将原图片转换为二进制流;

根据支付密码对应的二进制代码,与原图片的二进制流中的一组二进制代码进行异或运算,得到异或结果;

根据所述异或结果替换原图片中的该组二进制代码,替换后生成新图片。

进一步的,在支付验证端收到新图片后,将新图片转换的编码流与保存的原图片转换的编码流进行逻辑运算,根据逻辑运算结果提取出用户输入的支付密码所对应的数字代码,包括:

将新图片及保存的原图片转换为二进制流;

对新图片与原图片的二进制流进行异或运算,得到异或结果,其中,在异或结果中,除支付密码对应的异或结果以外,其它异或结果均为0;

根据支付密码对应的异或结果,转换为数字代码。

进一步的,根据数字代码反解出用户输入的支付密码,并与初始密码进行比对,若验证通过则继续处理本次支付交易,包括:

根据ASCII编码,得到数字代码对应的支付密码的字符。

在本发明实施例的第二方面,提出了一种基于图片编码进行支付验证的系统,该系统包括:

图片选取模块,用于选取一张原图片,将所述原图片分别保存在用户端及支付验证端;

转换模块,用于当用户端发起支付验证时,获取用户输入的支付密码,将支付密码的每位字符转换为数字代码;

第一逻辑运算模块,用于将数字代码与原图片转换的编码流中的一组编码进行逻辑运算,根据逻辑运算结果对原图片中的该组编码进行替换,生成新图片并发送至支付验证端;

第二逻辑运算模块,用于在支付验证端收到新图片后,将新图片转换的编码流与保存的原图片转换的编码流进行逻辑运算,根据逻辑运算结果提取出用户输入的支付密码所对应的数字代码;

支付验证模块,用于根据数字代码反解出用户输入的支付密码,并与初始密码进行比对,若验证通过则继续处理本次支付交易。

进一步的,转换模块具体用于:

根据ASCII编码,将支付密码的每位字符转换为数字代码,并将数字代码转换为二进制代码。

进一步的,第一逻辑运算模块具体用于:

将原图片转换为二进制流;

根据支付密码对应的二进制代码,与原图片的二进制流中的一组二进制代码进行异或运算,得到异或结果;

根据所述异或结果替换原图片中的该组二进制代码,替换后生成新图片。

进一步的,第二逻辑运算模块具体用于:

将新图片及保存的原图片转换为二进制流;

对新图片与原图片的二进制流进行异或运算,得到异或结果,其中,在异或结果中,除支付密码对应的异或结果以外,其它异或结果均为0;

根据支付密码对应的异或结果,转换为数字代码。

进一步的,支付验证模块具体用于:

根据ASCII编码,得到数字代码对应的支付密码的字符。

在本发明实施例的第三方面,提出了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现基于图片编码进行支付验证的方法。

在本发明实施例的第四方面,提出了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现基于图片编码进行支付验证的方法。

本发明提出的基于图片编码进行支付验证的方法及系统通过选取一张原图片,将所述原图片分别保存在用户端及支付验证端;当用户端发起支付验证时,获取用户输入的支付密码,将支付密码的每位字符转换为数字代码;将数字代码与原图片转换的编码流中的一组编码进行逻辑运算,根据逻辑运算结果对原图片中的该组编码进行替换,生成新图片并发送至支付验证端;在支付验证端收到新图片后,将新图片转换的编码流与保存的原图片转换的编码流进行逻辑运算,根据逻辑运算结果提取出用户输入的支付密码所对应的数字代码;根据数字代码反解出用户输入的支付密码,并与初始密码进行比对,若验证通过则继续处理本次支付交易,本发明实现了基于图片二进制异或的支付密码传输机制,有效解决密码传输过程中的泄露问题,增强密码传输、验证环节的安全性。

附图说明

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

图1是本发明一实施例的基于图片编码进行支付验证的方法流程示意图。

图2是本发明一具体实施例的ASCII编码表的部分示意图。

图3是本发明一具体实施例的用户端的新图片生成流程示意图。

图4是本发明一具体实施例的支付验证端的新图片处理流程示意图。

图5是本发明一具体实施例的支付验证的处理流程示意图。

图6是本发明一实施例的基于图片编码进行支付验证的系统架构示意图。

图7是本发明一实施例的计算机设备结构示意图。

具体实施方式

下面将参考若干示例性实施方式来描述本发明的原理和精神。应当理解,给出这些实施方式仅仅是为了使本领域技术人员能够更好地理解进而实现本发明,而并非以任何方式限制本发明的范围。相反,提供这些实施方式是为了使本公开更加透彻和完整,并且能够将本公开的范围完整地传达给本领域的技术人员。

本领域技术人员知道,本发明的实施方式可以实现为一种系统、装置、设备、方法或计算机程序产品。因此,本公开可以具体实现为以下形式,即:完全的硬件、完全的软件(包括固件、驻留软件、微代码等),或者硬件和软件结合的形式。

根据本发明的实施方式,提出了一种基于图片编码进行支付验证的方法及系统,涉及电子支付安全技术领域。本发明采用新型密码安全传输方式,当用户进行登录或交易时,输入密码后,在前端将其转化为二进制流,并按照约定的图片的任意位置的二进制流进行异或,得到的异或后新的二进制流,并将其替换成图片对应位置的二进制流,进行传输。当后台接收到图片后,根据约定的图片,与收到的图片进行异或,此时除了修改部分以外,其他部分均为相同,提高两张图片异或后的值,就能反解出原密码,完成本次支付校验验证;整体过程可以有效解决密码传输过程中的泄露问题,增强密码传输、验证环节的安全性。

下面参考本发明的若干代表性实施方式,详细阐释本发明的原理和精神。

图1是本发明一实施例的基于图片编码进行支付验证的方法流程示意图。如图1所示,该方法包括:

步骤S101,选取一张原图片,将所述原图片分别保存在用户端及支付验证端;

步骤S102,当用户端发起支付验证时,获取用户输入的支付密码,将支付密码的每位字符转换为数字代码;

步骤S103,将数字代码与原图片转换的编码流中的一组编码进行逻辑运算,根据逻辑运算结果对原图片中的该组编码进行替换,生成新图片并发送至支付验证端;

步骤S104,在支付验证端收到新图片后,将新图片转换的编码流与保存的原图片转换的编码流进行逻辑运算,根据逻辑运算结果提取出用户输入的支付密码所对应的数字代码;

步骤S105,根据数字代码反解出用户输入的支付密码,并与初始密码进行比对,若验证通过则继续处理本次支付交易。

为了对上述基于图片编码进行支付验证的方法进行更为清楚的解释,下面结合每一步进行说明。

步骤S101:

由通信前后端协商一张固定的图片,基于该图片进行支付密码的传输。

步骤S102:

根据ASCII编码,将支付密码的每位字符转换为数字代码,并将数字代码转换为二进制代码。

参考图2,为本发明一具体实施例的ASCII编码表的部分示意图。若用户输入的支付密码为f1324e,如图2所示,对应的ASCII编码为102、49、51、50、52、101,转换为二进制代码为1100110、110001、110011、110010、110100、1100101。

步骤S103:

参考图3,为本发明一具体实施例的用户端的新图片生成流程示意图。如图3所示,具体流程为:

步骤S1031,将原图片转换为二进制流;

步骤S1032,根据支付密码对应的二进制代码,与原图片的二进制流中的一组二进制代码进行异或运算,得到异或结果;

步骤S1033,根据所述异或结果替换原图片中的该组二进制代码,替换后生成新图片。

举例而言,将原图片转化为二进制流如下:

11111111 00000101 10100010 11010011 01100110 00110100

10010001 01101010 00101010 11100011 00011101 00101011

00101011 11010100 00101010 11011010 01101001 00101001

由于支付密码为6位,在原图片的二进制流中选取6个二进制代码;例如,选取第2行第3个至第3行第2个的6个二进制代码“00101010、11100011、00011101、00101011、00101011、11010100”。

将“1100110、110001、110011、110010、110100、1100101”与上述6个二进制代码分别进行异或计算,得到6个异或结果“01001100、11010010、00101110、00011001、00011111、10110001”。

根据所述异或结果替换原图片中的该组二进制代码,替换后生成新图片。

在本实施例中,对于在原图片的二进制流中所选取进行异或运算,并进行替换的一组二进制代码,其数量和支付密码的位数相同,如支付密码为6位,则在原图片的二进制流中选取6个二进制代码。

选取的一组二进制代码的位置,可以不进行预设,无需前后端约定,随机选取6个相邻的二进制代码,依次进行异或运算,替换即可。在后续步骤中,后端进行处理时,可以直接得到这6位密码的二进制代码,并反解得到密码。

另外,可以设定所选取的一组二进制代码的位置;例如,由前后端约定位置,这些位置可以不相邻或者无规律可循;例如,选取第2、5、8、9、11、13个二进制代码进行异或运算及替换。

进一步的,对于选取的二进制代码,还可以不按照排列的顺序进行异或运算及替换,若这样处理,则需要前后端同时保存异或运算及替换的顺序。例如,将6位密码分别与第2、8、9、5、13、11个二进制代码进行异或运算及替换,在后端进行反解时,将两张图片异或运算之后得到二进制代码,按照其中第2、8、9、5、13、11个二进制代码的顺序进行排列,从而得到支付密码的二进制代码。

通过上述提到的动态位置变化,可以进一步增强支付密码的传输、验证的安全性。

步骤S104:

参考图4,为本发明一具体实施例的支付验证端的新图片处理流程示意图。如图4所示,具体流程为:

步骤S1041,将新图片及保存的原图片转换为二进制流;

步骤S1042,对新图片与原图片的二进制流进行异或运算,得到异或结果,其中,在异或结果中,除支付密码对应的异或结果以外,其它异或结果均为0;

步骤S1043,根据支付密码对应的异或结果,转换为数字代码。

根据异或运算的运算法则

最终可以得到6个“非00000000”的结果,即为支付密码对应的二进制代码。

其中,关于被替换过二进制代码的部分,由于其对同一个数异或运算了两次,

将二进制代码可以转换为十进制,即可得到102、49、51、50、52、101。

通过这种方式,可以将密码信息隐藏在图片中进行传输。

在本实施例中,由于“00000000”在ASCII编码中对应的字符是“BLANK NULL”,在设置密码中不会采用,因此,对于新图片和原图片的二进制流进行异或运算时,支付密码对应的二进制代码都是“非00000000”。所以,在支付验证端,两张图片的二进制流经过异或运算后,得到的就是“00000000”和支付密码对应的二进制代码(6个)。

其中,支付密码的位数也可以是4位、5位、8位、10位等,在支付验证端得到的异或结果中,则可以相应得到“00000000”及支付密码对应的二进制代码(4个、5个、8个、10个)。

步骤S105:

参考图5,为本发明一具体实施例的支付验证的处理流程示意图。如图5所示,具体流程为:

步骤S1051,根据ASCII编码,得到数字代码对应的支付密码的字符。

步骤S1052,与初始密码进行比对,若验证通过则继续处理本次支付交易。

参考图2的编码表,根据支付密码对应的十进制码“102、49、51、50、52、101”,得到用户输入的支付密码为f1324e。

与用户设置的初始密码进行比对(初始密码f1324e),比对一致,验证通过,后台继续处理本次交易。

需要说明的是,尽管在上述实施例及附图中以特定顺序描述了本发明方法的操作,但是,这并非要求或者暗示必须按照该特定顺序来执行这些操作,或是必须执行全部所示的操作才能实现期望的结果。附加地或备选地,可以省略某些步骤,将多个步骤合并为一个步骤执行,和/或将一个步骤分解为多个步骤执行。

为了对上述基于图片编码进行支付验证的方法进行更为清楚的解释,下面结合一个具体的实施例来进行说明,然而值得注意的是该实施例仅是为了更好地说明本发明,并不构成对本发明不当的限定。

通信前后端协商一张固定的图片。

当用户在输入密码时,输入密码,如fe1234。

将f、e、1、2、3、4分别转化为二进制流:

1100110 1100101 110001 110010 110011 110100

将图片转化为二进制流,比如:

11111111 00000101 10100010 11010011 01100110 00110100

10010001 01101010 00101010 11100011 00011101 00101011

00101011 11010100 00101010 11011010 01101001 00101001

将上述第9-14个二进制代码与“fe1234”密码的二进制流进行异或,并将异或后的新值替换到原第9-14个二进制代码。

并将替换后的新图片二进制流发送至后台。

后台将协商的原图片与收到的新图片二进制流进行异或,得到密码的二进制流,反解出密码,进行支付验证。

在介绍了本发明示例性实施方式的方法之后,接下来,参考图6对本发明示例性实施方式的基于图片编码进行支付验证的系统进行介绍。

基于图片编码进行支付验证的系统的实施可以参见上述方法的实施,重复之处不再赘述。以下所使用的术语“模块”或者“单元”,可以是实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。

基于同一发明构思,本发明还提出了一种基于图片编码进行支付验证的系统,如图6所示,该系统包括:

图片选取模块610,用于选取一张原图片,将所述原图片分别保存在用户端及支付验证端;

转换模块620,用于当用户端发起支付验证时,获取用户输入的支付密码,将支付密码的每位字符转换为数字代码;

第一逻辑运算模块630,用于将数字代码与原图片转换的编码流中的一组编码进行逻辑运算,根据逻辑运算结果对原图片中的该组编码进行替换,生成新图片并发送至支付验证端;

第二逻辑运算模块640,用于在支付验证端收到新图片后,将新图片转换的编码流与保存的原图片转换的编码流进行逻辑运算,根据逻辑运算结果提取出用户输入的支付密码所对应的数字代码;

支付验证模块650,用于根据数字代码反解出用户输入的支付密码,并与初始密码进行比对,若验证通过则继续处理本次支付交易。

在本实施例中,转换模块620具体用于:

根据ASCII编码,将支付密码的每位字符转换为数字代码,并将数字代码转换为二进制代码。

在本实施例中,第一逻辑运算模块630具体用于:

将原图片转换为二进制流;

根据支付密码对应的二进制代码,与原图片的二进制流中的一组二进制代码进行异或运算,得到异或结果;

根据所述异或结果替换原图片中的该组二进制代码,替换后生成新图片。

在本实施例中,第二逻辑运算模块640具体用于:

将新图片及保存的原图片转换为二进制流;

对新图片与原图片的二进制流进行异或运算,得到异或结果,其中,在异或结果中,除支付密码对应的异或结果以外,其它异或结果均为0;

根据支付密码对应的异或结果,转换为数字代码。

在本实施例中,支付验证模块650具体用于:

根据ASCII编码,得到数字代码对应的支付密码的字符。

应当注意,尽管在上文详细描述中提及了基于图片编码进行支付验证的系统的若干模块,但是这种划分仅仅是示例性的并非强制性的。实际上,根据本发明的实施方式,上文描述的两个或更多模块的特征和功能可以在一个模块中具体化。反之,上文描述的一个模块的特征和功能可以进一步划分为由多个模块来具体化。

基于前述发明构思,如图7所示,本发明还提出了一种计算机设备700,包括存储器710、处理器720及存储在存储器710上并可在处理器720上运行的计算机程序730,所述处理器720执行所述计算机程序730时实现前述基于图片编码进行支付验证的方法。

基于前述发明构思,本发明提出了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现前述基于图片编码进行支付验证的方法。

本发明提出的基于图片编码进行支付验证的方法及系统通过选取一张原图片,将所述原图片分别保存在用户端及支付验证端;当用户端发起支付验证时,获取用户输入的支付密码,将支付密码的每位字符转换为数字代码;将数字代码与原图片转换的编码流中的一组编码进行逻辑运算,根据逻辑运算结果对原图片中的该组编码进行替换,生成新图片并发送至支付验证端;在支付验证端收到新图片后,将新图片转换的编码流与保存的原图片转换的编码流进行逻辑运算,根据逻辑运算结果提取出用户输入的支付密码所对应的数字代码;根据数字代码反解出用户输入的支付密码,并与初始密码进行比对,若验证通过则继续处理本次支付交易,本发明实现了基于图片二进制异或的支付密码传输机制,有效解决密码传输过程中的泄露问题,增强密码传输、验证环节的安全性。

本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。

本发明是参照根据本发明实施例的方法和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

最后应说明的是:以上所述实施例,仅为本发明的具体实施方式,用以说明本发明的技术方案,而非对其限制,本发明的保护范围并不局限于此,尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本发明实施例技术方案的精神和范围,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。

相关技术
  • 一种基于图片编码进行支付验证的方法及系统
  • 基于图片像素的三原色进行支付验证的方法及系统
技术分类

06120113194149