System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术涉及计算机,尤其是涉及一种数据签名验证方法、系统和设备。
技术介绍
1、数字签名验证是现代信息系统数据安全传输的基础和关键性的技术,使用场景较为广泛,实现方式也具有多样性。数据传输签名可用于验证服务使用者身份真实性和合法性,可保护数据的规范性、完整性及不易被非法篡改。在服务提供者受到服务使用者提交的请求时,能通过签名验证来校验请求的可信性及合法性,确认传输数据没有被非法篡改和不符合规范,保护信息系统不会被非法、恶意的请求所侵害而造成系统崩溃或服务异常,以及可保证服务使用者能有效安全的接受到服务提供者返回的数据信息。如何保证数据的传输安全亟待解决与优化,传输数据的双方都总希望确认消息未在传输的过程中被修改且具有一定的规范性和安全性。
技术实现思路
1、本专利技术的目的在于提供一种数据签名验证方法、系统和设备,以缓解了现有技术中存在的数据传输过程中被修改的技术问题。
2、第一方面,本申请提供了一种数据签名验证方法,包括:
3、获取请求参数数据;
4、对所述请求参数数据进行筛选,得到传输数据;
5、对所述传输数据进行排序,将排序后的传输数据进行拼接处理,得到待签名字符串;
6、使用签名函数对所述待签名字符串进行签名,得到传输数据签名;
7、将所述传输数据签名发送至服务器,服务器对所述传输数据签名进行认证后返回认证结果。
8、在可选的实施例中,对所有请求参数数据进行筛选,得到传输数据,包括:
>9、删除请求参数中参数值为空值的数据或空字符串的数据;
10、删除请求参数中的字节流和文件类型的数据;
11、对特定类型的参数进行处理。
12、在可选的实施例中,删除请求参数中参数值为空值的数据或空字符串的数据,包括:
13、根据预设函数,遍历所有请求参数数据,并检查每个参数的类型和每个参数类型所对应的值。
14、在可选的实施例中,对所述传输数据进行排序,包括:
15、获取传输数据中请求参数的第一字符,按照预设规则,对传输数据中的请求参数进行排序。
16、在可选的实施例中,对所述传输数据进行排序,还包括:
17、若传输数据中请求参数的第一字符相同时,则获取传输数据中请求参数的第二字符,并按照预设规则,对第一字符相同的请求参数进行排序。
18、第二方面,本申请提供了一种数据签名验证方法,包括:
19、接收由客户端发送的传输数据签名;
20、对所述传输数据签名中的传输数据进行筛选,得到认证数据;
21、对所述认证数据进行排序,将排序后的认证数据进行拼接处理,得到待认证字符串;
22、使用签名函数对所述待认证字符串进行签名,得到认证数据签名;
23、基于传输数据签名和所述认证数据签名,得到所述传输数据签名的认证结果,并将认证结果发送至客户端。
24、在可选的实施例中,基于传输数据签名和所述认证数据签名,得到所述传输数据签名的认证结果,并将认证结果发送至客户端,包括:
25、对比所述传输数据签名和所述认证数据签名的数值,当所述传输数据签名和所述认证数据签名的数值一致,则认证所述传输数据签名有效;
26、对所述传输数据签名请求业务进行处理;
27、将业务处理结果发送至客户端。
28、在可选的实施例中,将业务处理结果发送至客户端,包括:
29、获得业务处理数据;
30、对所述业务处理数据进行签名处理;
31、将签名处理后的所述业务处理数据发送至客户端。
32、第三方面,本申请提供了一种数据签名验证系统,包括:客户端和服务器,所述客户端与所述服务器连接;
33、所述客户端包括:
34、获取模块,用于获取请求参数数据;
35、筛选模块,用于对所述请求参数数据进行筛选,得到传输数据;
36、处理模块,对所述传输数据进行排序,将排序后的传输数据进行拼接处理,得到待签名字符串;
37、签名模块,用于使用签名函数对所述待签名字符串进行签名,得到传输数据签名;
38、发送模块,用于将所述传输数据签名发送至服务器,服务器对所述传输数据签名进行认证后返回认证结果;
39、所述服务器包括:
40、接收模块,用于接收由客户端发送的传输数据签名;
41、认证筛选模块,用于对所述传输数据签名中的传输数据进行筛选,得到认证数据;
42、认证处理模块,用于对所述认证数据进行排序,将排序后的认证数据进行拼接处理,得到待认证字符串;
43、认证签名模块,用于使用签名函数对所述待认证字符串进行签名,得到认证数据签名;
44、认证模块,用于基于传输数据签名和所述认证数据签名,得到所述传输数据签名的认证结果,并将认证结果发送至客户端。
45、第四方面,本申请提供了一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述任一项所述数据签名验证方法的步骤。
46、本专利技术提供的一种数据签名验证方法、系统和设备,通过签名算法中先对数据进行预处理后,将预处理后的数据进行排序、拼接后进行加密处理后发送至客户端,客户端根据签名算法对加密处理的进行处理,并对比处理数据和接收数据的结果,完成数据的验证,从而提高数据的稳定性和安全性,以及保证数据的有效性及完整新性,同时可有效拦截无效及非法的请求来源,降低系统的负载。
本文档来自技高网...【技术保护点】
1.一种数据签名验证方法,其特征在于,包括:
2.根据权利要求1所述的数据签名验证方法,其特征在于,对所有请求参数数据进行筛选,得到传输数据,包括:
3.根据权利要求2所述的数据签名验证方法,其特征在于,删除请求参数中参数值为空值的数据或空字符串的数据,包括:
4.根据权利要求1所述的数据签名验证方法,其特征在于,对所述传输数据进行排序,包括:
5.根据权利要求4所述的数据签名验证方法,其特征在于,对所述传输数据进行排序,还包括:
6.一种数据签名验证方法,其特征在于,包括:
7.根据权利要求6所述的数据签名验证方法,其特征在于,基于传输数据签名和所述认证数据签名,得到所述传输数据签名的认证结果,并将认证结果发送至客户端,包括:
8.根据权利要求7所述的数据签名验证方法,其特征在于,将业务处理结果发送至客户端,包括:
9.一种数据签名验证系统,其特征在于,包括:客户端和服务器,所述客户端与所述服务器连接;
10.一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述
...【技术特征摘要】
1.一种数据签名验证方法,其特征在于,包括:
2.根据权利要求1所述的数据签名验证方法,其特征在于,对所有请求参数数据进行筛选,得到传输数据,包括:
3.根据权利要求2所述的数据签名验证方法,其特征在于,删除请求参数中参数值为空值的数据或空字符串的数据,包括:
4.根据权利要求1所述的数据签名验证方法,其特征在于,对所述传输数据进行排序,包括:
5.根据权利要求4所述的数据签名验证方法,其特征在于,对所述传输数据进行排序,还包括:
6.一种数据签名验证方法,其特征在于,包括:
7....
【专利技术属性】
技术研发人员:王俊华,谭斌,
申请(专利权)人:深圳市星卡科技股份有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。