一种基于区块链的散列算法支付加密方法及系统

文档序号:1649982 发布日期:2019-12-24 浏览:11次 >En<

阅读说明:本技术 一种基于区块链的散列算法支付加密方法及系统 (Hash algorithm payment encryption method and system based on block chain ) 是由 陈新 庞松涛 商广勇 王伟兵 马岩堂 赵树林 姜鑫 陶鑫 刘伟巍 于 2019-09-23 设计创作,主要内容包括:本发明公开了一种基于区块链的散列算法支付加密方法及系统,属于支付安全加密技术领域。本发明的基于区块链的散列算法支付加密方法客户端对支付参数进行加密,返回密文一,客户端将密文和当前时间戳写入区块链中,并将密文与支付参数一同传递给服务端,服务端对支付参数采用相同的加密形式进行加密,返回密文二,再根据支付参数中的时间戳从区块链中获取密文三,将密文一、密文二和密文三进行对比,若密文一、密文二和密文三相同,则进行支付操作,否则,不进行支付操作。该发明的基于区块链的散列算法支付加密方法能够有效的保证支付参数在传输过程中的安全,杜绝参数的非法篡改,具有很好的推广应用价值。(The invention discloses a hash algorithm payment encryption method and system based on a block chain, and belongs to the technical field of payment security encryption. The client encrypts the payment parameters based on the hash algorithm of the block chain, returns a first ciphertext, writes the ciphertext and a current timestamp into the block chain, transmits the ciphertext and the payment parameters to the server together, encrypts the payment parameters in the same encryption mode by the server, returns a second ciphertext, acquires a third ciphertext from the block chain according to the timestamp in the payment parameters, compares the first ciphertext, the second ciphertext and the third ciphertext, performs payment operation if the first ciphertext, the second ciphertext and the third ciphertext are the same, and does not perform payment operation if the first ciphertext, the second ciphertext and the third ciphertext are the same. The hash algorithm payment encryption method based on the block chain can effectively ensure the safety of the payment parameters in the transmission process, prevent the illegal tampering of the parameters and has good popularization and application values.)

一种基于区块链的散列算法支付加密方法及系统

技术领域

本发明涉及支付安全加密技术领域,具体提供一种基于区块链的散列算法支付加密方法及系统。

背景技术

随着互联网金融的不断发展,支付作为互联网交易中不可或缺的重要环节,但同时也暴露出许多安全风险,因此需要对支付提供一个安全保障。我们知道,如果直接对明文进行散列加密,那么黑客可以对通过获得这个密码散列值,然后通过查散列值字典,很容易获取明文。加salt即盐,盐值就是在密码hash过程中添加的额外的随机值,可以有效的解决这一问题,基本思路是,在对明文进行加密时,将salt与明文一起加密,得到的密文即为安全的不可破解的。区块链技术具有分布式存储,不可篡改的特性,结合散列加密,确保一个具有安全性的支付环境。

发明内容

本发明的技术任务是针对上述存在的问题,提供一种能够有效的保证支付参数在传输过程中的安全,杜绝参数的非法篡改的基于区块链的散列算法支付加密方法。

本发明进一步的技术任务是提供一种基于区块链的散列算法支付加密系统。

为实现上述目的,本发明提供了如下技术方案:

一种基于区块链的散列算法支付加密方法,该方法中,客户端对支付参数进行加密,返回密文一,客户端将密文和当前时间戳写入区块链中,并将密文与支付参数一同传递给服务端,服务端对支付参数采用相同的加密形式进行加密,返回密文二,再根据支付参数中的时间戳从区块链中获取密文三,将密文一、密文二和密文三进行对比,若密文一、密文二和密文三相同,则进行支付操作,否则,不进行支付操作。

该基于区块链的散列算法支付加密方法能够预防在数据传输过程中不小心被拦截,可以通过反查询的方式获得加密后的数据,支付参数在HASH过程中添加额外的随机值(SALT)大大的增加了安全性,减少数据泄露带来的损失,保证数据的不可篡改,从而保证数据的安全性。

作为优选,该基于区块链的散列算法支付加密方法具体包括以下步骤:

S1、客户端对支付参数进行安全加密,将密文一返回客户端;

S2、客户端将密文和当前时间戳写入区块链中;

S3、服务端接收客户端传来的请求,获取密文与支付参数,服务端对支付参数采用相同的加密形式进行加密,返回密文二;

S4、服务端从区块链中获取密文三;

S5、服务端对支付参数进行安全验证,判断密文一、密文二和密文三是否一致,若一致则进行支付操作,否则,不进行支付操作。

作为优选,客户端对支付参数加密时,采用SHA256加盐加密,对敏感参数进行加密。

作为优选,客户端将密文和当前时间戳写入区块链中,时间戳能够防止重复支付,确保每一时间点只有一笔支付交易。并且将每一笔交易单独记录,存储,避免单一记录被人控制或者被人篡改,从而保证交易记录的安全性。

区块链具有分布式存储的独特性,每个节点都按照块链式结构存储完整的数据,每个节点存储都是独立的、地位等同的。

作为优选,服务端接收客户端传来的密文和支付参数,采用SHA256加盐加密,对敏感参数进行加密。

作为优选,服务端根据支付参数中的时间戳获取区块链中的支付密钥,从而从区块链中获取密文三。

一种基于区块链的散列算法支付加密系统,该系统包括客户端支付参数安全加密模块、区块链写入模块、服务端支付参数安全加密模块、服务端密文获取模块和服务端安全验证模块:

客户端支付参数安全加密模块负责客户端对支付参数进行安全加密,将密文一返回客户端;

区块链写入模块负责客户端将密文和当前时间戳写入区块链中;

服务端支付参数安全加密模块负责服务端接收客户端传来的请求,获取密文与支付参数,服务端对支付参数采用相同的加密形式进行加密,返回密文二;

服务端密文获取模块负责服务端从区块链中获取密文三;

服务端安全验证模块负责服务端对支付参数进行安全验证,判断密文一、密文二和密文三是否一致,若一致则进行支付操作,否则,不进行支付操作。

作为优选,客户端支付参数安全加密模块在负责客户端对支付参数加密时,采用SHA256加盐加密,对敏感参数进行加密。

作为优选,区块链写入模块中,客户端将密文和当前时间戳写入区块链中,时间戳能够防止重复支付,确保每一时间点只有一笔支付交易。

作为优选,服务端密文获取模块中,服务端根据支付参数中的时间戳获取区块链中的支付密钥,从而从区块链中获取密文三。

与现有技术相比,本发明的基于区块链的散列算法支付加密方法具有以下突出的有益效果:

(一)该基于区块链的散列算法支付加密方法,基于区块链的去中心化,分布式存储,各个节点的独立性,使每次交易的数据不被篡改,可信任度高;

(二)通过SHA256加盐加密,有效的防止黑客通过自己的支付参数和自己生成的散列值来进行非法调用支付接口,保证了健康的支付环境,具有良好的推广应用价值。

附图说明

图1是本发明所述基于区块链的散列算法支付加密方法的流程图。

具体实施方式

下面将结合附图和实施例,对本发明的基于区块链的散列算法支付加密方法及系统作进一步详细说明。

实施例

本发明的基于区块链的散列算法支付加密方法,客户端对支付参数进行加密,返回密文一,客户端将密文和当前时间戳写入区块链中,并将密文与支付参数一同传递给服务端,服务端对支付参数采用相同的加密形式进行加密,返回密文二,再根据支付参数中的时间戳从区块链中获取密文三,将密文一、密文二和密文三进行对比,若密文一、密文二和密文三相同,则进行支付操作,否则,不进行支付操作。

如图1所示,该基于区块链的散列算法支付加密方法具体包括以下步骤:

S1、客户端对支付参数进行安全加密,将密文一返回客户端。

客户端对支付参数加密时,采用SHA256加盐加密,对敏感参数进行加密,运行代码如下:

{

tradeNo:"201901121950280023952846405058",

openid="os4SW5LInELMjU-NWTtEeCj1LKyw",

time="1559628332880",

note="支付安全加密",

payStr="d12125e37f49e5ee60070f8ec943057ac4b30c83de1e71f0",

amount="100"

}

例如:对tradeNo,openid,time,amount进行加密

salt为1234567890abcdef

SHA256(tradeNo,openid,time,amount,salt)

加密后的密文则为:

d12125e37f49e5ee60070f8ec943057ac4b30c83de1e71f0。

S2、客户端将密文和当前时间戳写入区块链中。

客户端将密文和当前时间戳写入区块链中,时间戳能够防止重复支付,确保每一时间点只有一笔支付交易。

S3、服务端接收客户端传来的请求,获取密文与支付参数,服务端对支付参数采用相同的加密形式进行加密,返回密文二。

服务端接收客户端传来的密文和支付参数,采用SHA256加盐加密,对敏感参数进行加密。

S4、服务端从区块链中获取密文三。

服务端根据支付参数中的时间戳获取区块链中的支付密钥,从而从区块链中获取密文三。

S5、服务端对支付参数进行安全验证,判断密文一、密文二和密文三是否一致,若一致则进行支付操作,否则,不进行支付操作。

本发明的基于区块链的散列算法支付加密系统,该系统包括客户端支付参数安全加密模块、区块链写入模块、服务端支付参数安全加密模块、服务端密文获取模块和服务端安全验证模块。

客户端支付参数安全加密模块负责客户端对支付参数进行安全加密,将密文一返回客户端。

客户端支付参数安全加密模块在负责客户端对支付参数加密时,采用SHA256加盐加密,对敏感参数进行加密。

区块链写入模块负责客户端将密文和当前时间戳写入区块链中。客户端将密文和当前时间戳写入区块链中,时间戳能够防止重复支付,确保每一时间点只有一笔支付交易。

服务端支付参数安全加密模块负责服务端接收客户端传来的请求,获取密文与支付参数,服务端对支付参数采用相同的加密形式进行加密,返回密文二。

服务端密文获取模块负责服务端从区块链中获取密文三。服务端根据支付参数中的时间戳获取区块链中的支付密钥,从而从区块链中获取密文三。

服务端安全验证模块负责服务端对支付参数进行安全验证,判断密文一、密文二和密文三是否一致,若一致则代表合法调用,可进行支付操作,否则,代表非法调用,不进行支付操作。

以上所述的实施例,只是本发明较优选的具体实施方式,本领域的技术人员在本发明技术方案范围内进行的通常变化和替换都应包含在本发明的保护范围内。

8页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:通过自主管控身份信息提供服务的方法、装置及介质

网友询问留言

已有0条留言

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

精彩留言,会给你点赞!