本发明涉及云梯网关服务领域,具体涉及一种基于国产哈希算法的参数完整性保护方法。
背景技术:
1、目前,公知的云梯网关服务是将第三方api进行对外开放,第三方业务系统将自身对外提供的api服务注册到网关服务平台中,并且通过网关服务进行对外开放,云梯网关服务平台在其中行使api的治理、参数保护完整性等功能。目前公知的云梯网关服务只支持对于参数进行简单的加密防止篡改,并不支持对参数进行国产哈希算法加密操作。
技术实现思路
1、有鉴于此,本发明的目的在于提供一种基于国产哈希算法的参数完整性保护方法,根据国产哈希算法支持参数保护完整性并加入时间戳以及动态盐进行二次保护,避免简单的加密,导致接口的安全性减弱。
2、为实现上述目的,本发明采用如下技术方案:
3、一种基于国产哈希算法的参数完整性保护方法,包括以下步骤:
4、步骤s1:将密钥、时间戳、url path变量、url query参数、header参数按照自然顺序排序,并转为字符串;
5、步骤s2:采用国产哈希算法进行加密生成密文,并根据自定义截取规则截取密文获得随机盐与密文进行二次加密生成sign签名;
6、步骤s3:请求网关时在header参数中带上 x-sign: sign签名:时间戳;
7、步骤s4:网关使用国产哈希算法对参数信息和时间戳以及密钥进行计算,得到sign签名,并与请求header参数x-sign中签名对比是否一致来判断参数信息是否被篡改。
8、进一步的,所述步骤s1具体为:将密钥、时间戳、url path变量、url query参数、header参数按照自然顺序排序,键值对使用key=value进行组装后,使用&进行参数拼接,并转为字符串。
9、进一步的,所述步骤s2还包括根据请求头部参数x_sign_algorithm判断是否使用国产哈希算法。
10、进一步的,所述随机盐为密文前32位。
11、一种基于国产哈希算法的参数完整性保护系统,包括处理器、存储器以及存储在所述存储器上的计算机程序,所述处理器执行所述计算机程序时,具体执行如上所述的基于国产哈希算法的参数完整性保护方法中的步骤。
12、本发明与现有技术相比具有以下有益效果:
13、本发明根据国产哈希算法支持参数保护完整性并加入时间戳以及动态盐进行二次保护,避免简单的加密,导致接口的安全性减弱。
1.一种基于国产哈希算法的参数完整性保护方法,其特征在于,包括以下步骤:
2.根据权利要求1所述的基于国产哈希算法的参数完整性保护方法,其特征在于,所述步骤s1具体为:将密钥、时间戳、url path变量、url query参数、header参数按照自然顺序排序,键值对使用key=value进行组装后,使用&进行参数拼接,并转为字符串。
3.根据权利要求1所述的基于国产哈希算法的参数完整性保护方法,其特征在于,所述步骤s2还包括根据请求头部参数x_sign_algorithm判断是否使用国产哈希算法。
4.根据权利要求1所述的基于国产哈希算法的参数完整性保护方法,其特征在于,所述随机盐为密文前32位。
5.一种基于国产哈希算法的参数完整性保护系统,其特征在于,包括处理器、存储器以及存储在所述存储器上的计算机程序,所述处理器执行所述计算机程序时,具体执行如权利要求1-4任一项所述的基于国产哈希算法的参数完整性保护方法中的步骤。