System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术涉及数据安全,尤其是涉及一种数字水印生成方法、装置、终端设备、计算机可读存储介质及计算机程序产品。
技术介绍
1、目前,为了便于对数据资产归属进行确认,通常在不改变数据的使用价值的前提下,通过数据混淆的技术,添加隐藏的数据水印,如在数据文件中添加无用行,在图片文件中嵌入特征块而不改变图片的显示效果,确保在发生数据泄露等情况下,能确认数据的资产归属。现有技术通常仅能够针对图像、音视频、大文本、数据库等大信息场景添加数字水印,而在单个短数据的信息场景下,由于原始信息载体小,因此隐蔽性较低,水印防伪困难,一旦被识破,容易导致数据被篡改,而数字水印被篡改后将无法确认数据的资产归属。
技术实现思路
1、本专利技术提供一种数字水印生成方法、装置、设备、介质及程序产品,考虑到如纯数字型数据、短位数等查询数据的原始信息载体小,能够针对不同长度的水印需求而按照10n取余,得到不同长度的整数作为数字水印,提高了嵌入隐蔽性的同时,确保对原始查询数据的干扰较小。
2、为了解决上述技术问题,本专利技术实施例第一方面提供一种数字水印生成方法,包括:
3、当检测到当前请求的查询数据需要添加水印时,根据当前所述查询数据所对应的查询信息进行哈希运算,获得哈希数组;
4、从所述哈希数组中获取长度为预设比特数值的第一数组;
5、将所述第一数组转换为无符号数,获得第二数组;
6、将所述第二数组按照10n取余,生成所述查询数据的数字水印;其中,n为预设的
7、作为优选方案,所述查询信息至少包括查询方消息、查询接口名称、所述查询数据和时间序列;所述根据当前所述查询数据所对应的查询信息进行哈希运算,获得哈希数组,具体包括:
8、对所述查询信息进行填充,获得长度为预设分组长度的倍数的填充信息;
9、将所述填充信息按照所述预设分组长度进行分组,获得若干比特分组;
10、对若干所述比特分组依次进行迭代压缩,获得所述哈希数组。
11、作为优选方案,所述从所述哈希数组中获取长度为预设比特数值的第一数组,具体包括:
12、根据所述预设比特数值,获取所述哈希数组的最后若干个字节;
13、将若干个所述字节转换为无符号数,并按照每个所述字节的比特位顺序进行拼接,获得所述第一数组。
14、作为优选方案,所述将所述第二数组按照10n取余,生成所述查询数据的数字水印,具体包括:
15、将所述第二数组按照10n取余,获得目标余数;
16、当所述目标余数的长度等于n时,判定所述目标余数为所述查询数据的数字水印;
17、当所述目标余数的长度小于n时,对所述目标余数进行高位补零处理,以使高位补零处理后的目标余数的长度等于n,并将所述高位补零处理后的目标余数作为所述查询数据的数字水印。
18、作为优选方案,所述方法具体通过如下步骤判断当前请求的查询数据是否需要添加水印:
19、响应于客户端发送的数据查询请求,获取所述客户端当前请求的查询数据;
20、当基于预设的水印配置列表,判定所述客户端的查询接口的水印配置信息为启动水印配置时,判定当前请求的所述查询数据需要添加水印;其中,所述水印配置列表存储有若干查询接口名称以及各查询接口名称所对应的水印配置信息;
21、当基于所述水印配置列表,判定所述客户端的查询接口的水印配置信息为关闭水印配置时,判定当前请求的所述查询数据不需要添加水印。
22、作为优选方案,所述方法还包括:
23、将所述数字水印与所述查询数据进行拼接,获得嵌入水印的查询数据;
24、将所述嵌入水印的查询数据反馈至发送当前请求的客户端。
25、作为优选方案,所述将所述数字水印与所述查询数据进行拼接,获得嵌入水印的查询数据,具体包括:
26、当所述查询数据为小数时,将所述数字水印直接拼接于所述查询数据的尾部,获得所述嵌入水印的查询数据;
27、当所述查询数据为整数时,将所述数字水印作为所述查询数据的小数部分而与所述查询数据拼接,获得所述嵌入水印的查询数据。
28、作为优选方案,所述方法还包括:
29、将所述数字水印、当前请求的数据交互时间、所述客户端的查询方消息、查询接口名称以及所述嵌入水印的查询数据存储于预设数据库中。
30、作为优选方案,所述方法还包括:
31、当检测到当前请求的所述查询数据不需要添加水印时,将所述查询数据直接反馈至所述客户端。
32、本专利技术实施例第二方面提供一种数字水印生成装置,包括:
33、哈希运算模块,用于当检测到当前请求的查询数据需要添加水印时,根据当前所述查询数据所对应的查询信息进行哈希运算,获得哈希数组;
34、第一数组获取模块,用于从所述哈希数组中获取长度为预设比特数值的第一数组;
35、第二数组获取模块,用于将所述第一数组转换为无符号数,获得第二数组;
36、数字水印生成模块,用于将所述第二数组按照10n取余,生成所述查询数据的数字水印;其中,n为预设的数字水印长度,且n>0。
37、本专利技术实施例第三方面提供一种终端设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现第一方面任一项所述的数字水印生成方法。
38、本专利技术实施例第四方面提供一种计算机可读存储介质,所述计算机可读存储介质包括存储的计算机程序,其中,在所述计算机程序运行时控制所述计算机可读存储介质所在设备执行第一方面任一项所述的数字水印生成方法。
39、本专利技术实施例第五方面提供一种计算机程序产品,包括计算机程序/指令,所述计算机程序/指令被处理器执行时实现第一方面任一项所述的数字水印生成方法的步骤。
40、相比于现有技术,本专利技术实施例的有益效果在于,考虑到如纯数字型数据、短位数等查询数据的原始信息载体小,能够针对不同长度的水印需求而按照10n取余,得到不同长度的整数作为数字水印,提高了嵌入隐蔽性的同时,确保对原始查询数据的干扰较小。
本文档来自技高网...【技术保护点】
1.一种数字水印生成方法,其特征在于,包括:
2.如权利要求1所述的数字水印生成方法,其特征在于,所述查询信息至少包括查询方消息、查询接口名称、所述查询数据和时间序列;所述根据当前所述查询数据所对应的查询信息进行哈希运算,获得哈希数组,具体包括:
3.如权利要求1所述的数字水印生成方法,其特征在于,所述从所述哈希数组中获取长度为预设比特数值的第一数组,具体包括:
4.如权利要求1所述的数字水印生成方法,其特征在于,所述将所述第二数组按照10n取余,生成所述查询数据的数字水印,具体包括:
5.如权利要求1所述的数字水印生成方法,其特征在于,所述方法具体通过如下步骤判断当前请求的查询数据是否需要添加水印:
6.如权利要求1所述的数字水印生成方法,其特征在于,所述方法还包括:
7.如权利要求6所述的数字水印生成方法,其特征在于,所述将所述数字水印与所述查询数据进行拼接,获得嵌入水印的查询数据,具体包括:
8.如权利要求6所述的数字水印生成方法,其特征在于,所述方法还包括:
9.如权利要求5所
10.一种数字水印生成装置,其特征在于,包括:
11.一种终端设备,其特征在于,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现权利要求1至9任一项所述的数字水印生成方法。
12.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质包括存储的计算机程序,其中,在所述计算机程序运行时控制所述计算机可读存储介质所在设备执行权利要求1至9任一项所述的数字水印生成方法。
13.一种计算机程序产品,其特征在于,包括计算机程序/指令,所述计算机程序/指令被处理器执行时实现权利要求1至9任一项所述的数字水印生成方法的步骤。
...【技术特征摘要】
1.一种数字水印生成方法,其特征在于,包括:
2.如权利要求1所述的数字水印生成方法,其特征在于,所述查询信息至少包括查询方消息、查询接口名称、所述查询数据和时间序列;所述根据当前所述查询数据所对应的查询信息进行哈希运算,获得哈希数组,具体包括:
3.如权利要求1所述的数字水印生成方法,其特征在于,所述从所述哈希数组中获取长度为预设比特数值的第一数组,具体包括:
4.如权利要求1所述的数字水印生成方法,其特征在于,所述将所述第二数组按照10n取余,生成所述查询数据的数字水印,具体包括:
5.如权利要求1所述的数字水印生成方法,其特征在于,所述方法具体通过如下步骤判断当前请求的查询数据是否需要添加水印:
6.如权利要求1所述的数字水印生成方法,其特征在于,所述方法还包括:
7.如权利要求6所述的数字水印生成方法,其特征在于,所述将所述数字水印与所述查询数据进...
【专利技术属性】
技术研发人员:许文周,路骁虎,黄承伟,周璐,郑添元,
申请(专利权)人:中移上海信息通信科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。