基于国产哈希算法的参数完整性保护方法技术

技术编号:38071655 阅读:27 留言:0更新日期:2023-07-06 08:40
本发明专利技术涉及一种基于国产哈希算法的参数完整性保护方法,包括以下步骤:步骤S1:将密钥、时间戳、URL Path变量、URL Query参数、Header参数按照自然顺序排序,并转为字符串;步骤S2:采用国产哈希算法进行加密生成密文,并根据自定义截取规则截取密文获得随机盐与密文进行二次加密生成Sign签名;步骤S3:请求网关时在Header参数中带上X

【技术实现步骤摘要】
基于国产哈希算法的参数完整性保护方法


[0001]本专利技术涉及云梯网关服务领域,具体涉及一种基于国产哈希算法的参数完整性保护方法。

技术介绍

[0002]目前,公知的云梯网关服务是将第三方API进行对外开放,第三方业务系统将自身对外提供的API服务注册到网关服务平台中,并且通过网关服务进行对外开放,云梯网关服务平台在其中行使API的治理、参数保护完整性等功能。目前公知的云梯网关服务只支持对于参数进行简单的加密防止篡改,并不支持对参数进行国产哈希算法加密操作。

技术实现思路

[0003]有鉴于此,本专利技术的目的在于提供一种基于国产哈希算法的参数完整性保护方法,根据国产哈希算法支持参数保护完整性并加入时间戳以及动态盐进行二次保护,避免简单的加密,导致接口的安全性减弱。
[0004]为实现上述目的,本专利技术采用如下技术方案:一种基于国产哈希算法的参数完整性保护方法,包括以下步骤:步骤S1:将密钥、时间戳、URL Path变量、URL Query参数、Header参数按照自然顺序排序,并转为字符串;步骤S2:采用国产哈希算法进行加密生成密文,并根据自定义截取规则截取密文获得随机盐与密文进行二次加密生成Sign签名;步骤S3:请求网关时在Header参数中带上 X

Sign: Sign签名:时间戳;步骤S4:网关使用国产哈希算法对参数信息和时间戳以及密钥进行计算,得到sign签名,并与请求Header参数X

Sign中签名对比是否一致来判断参数信息是否被篡改
[0005]进一步的,所述步骤S1具体为:将密钥、时间戳、URL Path变量、URL Query参数、Header参数按照自然顺序排序,键值对使用key=value进行组装后,使用&进行参数拼接,并转为字符串。
[0006]进一步的,所述步骤S2还包括根据请求头部参数X_SIGN_ALGORITHM判断是否使用国产哈希算法。
[0007]进一步的,所述随机盐为密文前32位。
[0008]一种基于国产哈希算法的参数完整性保护系统,包括处理器、存储器以及存储在所述存储器上的计算机程序,所述处理器执行所述计算机程序时,具体执行如上所述的基于国产哈希算法的参数完整性保护方法中的步骤。
[0009]本专利技术与现有技术相比具有以下有益效果:本专利技术根据国产哈希算法支持参数保护完整性并加入时间戳以及动态盐进行二次保护,避免简单的加密,导致接口的安全性减弱。
附图说明
[0010]图1是本专利技术方法流程示意图。
具体实施方式
[0011]下面结合附图及实施例对本专利技术做进一步说明。
[0012]请参照图1,本专利技术提供一种基于国产哈希算法的参数完整性保护方法,包括以下步骤:步骤S1:将密钥、时间戳、URL Path变量、URL Query参数、Header参数按照自然顺序排序,并转为字符串;在本实施例中,headerParams、urlParams、formParams有多个参数照按自然顺序排序, 键值对使用key=value进行组装后,使用&进行参数拼接。
[0013]示例:A=1&B=2步骤S2:采用国产哈希算法进行加密生成密文,并根据自定义截取规则截取密文获得随机盐与密文进行二次加密生成Sign签名;在本实施例中,根据请求头部参数X_SIGN_ALGORITHM判断是否使用国产哈希算法;在本实施例中,密文为: SmUtil.sm3(SecretKey::timestamp::headerParams::urlParams::formParams::bodyString)示例:SmUtil.sm3(“b78b576ba3a745e59c1c15e837f5adac::1634264566000::AHeaderParam=1&BHeaderParam=2::AUrlParams=1&BUrlParams=2::AFormParams=1&BFormParams=2::{ABody=1,BBody=2}”)31d7e1882e0460543fa19e572eaed580fb55312b2c275efcb149d053994a2ed7salt盐为:密文前32位(截取规则可以自定义)示例:31d7e1882e0460543fa19e572eaed580Sign签名为:密文+ salt盐使用国产哈希算法加密生成Sign签名示例:Sign:SmUtil.sm3(“31d7e1882e0460543fa19e572eaed580fb55312b2c275efcb149d053994a2ed731d7e1882e0460543fa19e572eaed580”)Sign:f7fea8115db01359cf0f0adf48ad48e002bcc89babd40911967314c2050d1672步骤S3:请求网关时在Header参数中带上 X

Sign: Sign签名:时间戳;步骤S4:网关使用国产哈希算法对参数信息和时间戳以及密钥进行计算,得到sign签名,并与请求Header参数X

Sign中签名对比是否一致来判断参数信息是否被篡改。
[0014]以上所述仅为本专利技术的较佳实施例,凡依本专利技术申请专利范围所做的均等变化与修饰,皆应属本专利技术的涵盖范围。
本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于国产哈希算法的参数完整性保护方法,其特征在于,包括以下步骤:步骤S1:将密钥、时间戳、URL Path变量、URL Query参数、Header参数按照自然顺序排序,并转为字符串;步骤S2:采用国产哈希算法进行加密生成密文,并根据自定义截取规则截取密文获得随机盐与密文进行二次加密生成Sign签名;步骤S3:请求网关时在Header参数中带上 X

Sign: Sign签名:时间戳;步骤S4:网关使用国产哈希算法对参数信息和时间戳以及密钥进行计算,得到sign签名,并与请求Header参数X

Sign中签名对比是否一致来判断参数信息是否被篡改。2.根据权利要求1所述的基于国产哈希算法的参数完整性保护方法,其特征在于,所述步骤S1具体为:将密钥...

【专利技术属性】
技术研发人员:何炳麟
申请(专利权)人:福建南威软件有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1