基于语义的水印添加方法及装置与流程

文档序号:33323211发布日期:2023-03-03 21:46阅读:62来源:国知局
基于语义的水印添加方法及装置与流程

1.本发明涉及数据安全领域,尤其涉及一种基于语义的水印添加方法及装置。


背景技术:

2.随着数据安全保护法的推出,各大企业对数据安全越来越重视,对数据安全的水印溯源技术越来越关注。
3.传统的数据水印技术有字符替换与添加不可见字符两种,对于字符替换会改变原始数据,这会影响水印后数据的业务功能;对于不可见字符,不少编辑器还是可以看到空格甚至类似方框的符号,容易被删除。
4.针对现有技术中水印影响数据语义或是容易被发现后被删除的问题,目前还没有一个有效的解决方法。


技术实现要素:

5.为解决上述问题,本发明提供了一种基于语义的水印添加方法,通过水印码与对应待加水印手机号,通过计算得到对应的水印信息,由于水印信息为区号,因此不会影响数据的语义;且区号很难被发现为水印而被删掉,以解决现有技术中水印影响数据语义或是容易被发现后被删除的问题。
6.为达到上述目的,本发明实施例提供了一种基于语义的水印添加方法,包括:实时获取水印码及待加水印手机号;根据所述待加水印手机号及所述水印码计算对应的水印信息;将所述水印信息添加到对应待加水印手机号的前端,得到已加水印手机号。
7.进一步可选的,所述实时获取水印码包括:随机生成15位的字符串;将所述字符串中的每个字符与运算符建立映射,得到所述水印码。
8.进一步可选的,所述根据所述待加水印手机号及所述水印码计算对应的水印信息,包括:将所述待加水印手机号进行md5加密算法,得到32位的十六进制字符;从所述32位的十六进制字符中截取连续的16位十六进制字符,并将该16位十六进制字符转换为16位十进制字符;采用所述16位十进制字符中的第一位十进制字符与第二位十进制字符通过所述水印码中的第一位字符对应的运算符进行计算,得到第一计算结果,采用第一计算结果与所述16位十进制字符中的第三位十进制字符通过所述水印码中的第二位字符对应的运算符进行计算,得到第二计算结果,以此类推,直至16位十进制字符均完成计算,得到最终计算结果;采用所述最终计算结果对4取余,得到余数;根据所述余数的值确定水印信息。
9.进一步可选的,所述15位的字符串中每个字符为0、1或2;其中,0与加号建立映射;1与减号建立映射;2与乘号建立映射。
10.进一步可选的,所述根据所述余数的值确定水印信息包括:若所述余数为0,则确定水印信息为086;若所述余数为1,则确定水印信息为+86;若所述余数为2,则确定水印信息为(86);若所述余数为3,则确定水印信息为空。
11.另一方面,本发明实施例还提供一种基于语义的水印添加装置,包括:数据获取模
块,用于实时获取水印码及待加水印手机号;水印信息生成模块,用于根据所述待加水印手机号及所述水印码计算对应的水印信息;水印添加模块,用于将所述水印信息添加到对应待加水印手机号的前端,得到已加水印手机号。
12.进一步可选的,所述数据获取模块包括:字符串生成子模块,用于随机生成15位的字符串;映射建立子模块,用于将所述字符串中的每个字符与运算符建立映射,得到所述水印码。
13.进一步可选的,所述水印信息生成模块,包括:加密子模块,用于将所述待加水印手机号进行md5加密算法,得到32位的十六进制字符;进制转换子模块,用于从所述32位的十六进制字符中截取连续的16位十六进制字符,并将该16位十六进制字符转换为16位十进制字符;综合运算子模块,用于采用所述16位十进制字符中的第一位十进制字符与第二位十进制字符通过所述水印码中的第一位字符对应的运算符进行计算,得到第一计算结果,采用第一计算结果与所述16位十进制字符中的第三位十进制字符通过所述水印码中的第二位字符对应的运算符进行计算,得到第二计算结果,以此类推,直至16位十进制字符均完成计算,得到最终计算结果;取余子模块,用于采用所述最终计算结果对4取余,得到余数;水印信息确定子模块,用于根据所述余数的值确定水印信息。
14.进一步可选的,所述15位的字符串中每个字符为0、1或2;其中,0与加号建立映射;1与减号建立映射;2与乘号建立映射。
15.进一步可选的,所述水印信息确定子模块包括:第一水印信息确定单元,用于若所述余数为0,则确定水印信息为086;第二水印信息确定单元,用于若所述余数为1,则确定水印信息为+86;第三水印信息确定单元,用于若所述余数为2,则确定水印信息为(86);第四水印信息确定单元,用于若所述余数为3,则确定水印信息为空。
16.上述技术方案具有如下有益效果:通过将水印信息隐藏于数据语义中,虽然后改变数据内容,但是不会影响数据的语义,从而不会影响后续的业务功能;添加的内容并没有改变数据的语义,这样水印信息很难被发现而被删掉,存在很强的鲁棒性。
附图说明
17.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
18.图1是本发明实施例提供的基于语义的水印添加方法的流程图;
19.图2是本发明实施例提供的水印码生成方法的流程图;
20.图3是本发明实施例提供的水印信息生成方法的流程图;
21.图4是本发明实施例提供的水印信息确定方法的流程图;
22.图5是本发明实施例提供的基于语义的水印添加装置的结构示意图;
23.图6是本发明实施例提供的数据获取模块的结构示意图;
24.图7是本发明实施例提供的水印信息生成模块的结构示意图;
25.图8是本发明实施例提供的水印信息确定子模块的结构示意图。
26.附图标记:100-数据获取模块;1001-字符串生成子模块;1002-映射建立子模块;
200-水印信息生成模块;2001-加密子模块;2002-进制转换子模块;2003-综合运算子模块;2004-取余子模块;2005-水印信息确定子模块;20051-第一水印信息确定单元;20052-第二水印信息确定单元;20053-第三水印信息确定单元;20054-第四水印信息确定单元;300-水印添加模块。
具体实施方式
27.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
28.为解决现有技术中水印添加后影响数据语义或是容易被发现后被删除的问题,本发明实施例提供了一种基于语义的水印添加方法,图1是本发明实施例提供的基于语义的水印添加方法的流程图,如图1所示,该方法包括:
29.s1、实时获取水印码及待加水印手机号;
30.水印码为一串数字组成的字符串,用于生成加密后的水印信息。每次生成的水印码可以进行记录。水印码每隔预定时间重新生成,预定时间可根据具体情况确定;也可每次开始计算前重新生成。
31.待加水印手机号由11位的数字组成,不包含手机号前的区号。
32.s2、根据待加水印手机号及水印码计算对应的水印信息;其中,水印信息为区号;
33.采用水印码的数字字符串及待加水印的数字字符串进行加密计算,将计算结果转化为手机号码的区号,作为待加水印手机号对应的水印信息。
34.本实施例中,以国内区号为例,水印信息可能为086、+86或(86)。
35.s3、将水印信息添加到对应待加水印手机号的前端,得到已加水印手机号。
36.将水印信息与待加水印手机号进行拼接,即将区号添加到手机号的前端,如此将水印信息添加到手机号中,得到已加水印手机号。
37.关于已加水印手机号的溯源,不同于一般的溯源算法,可以直接从加水印后的数据中提取出溯源信息,该水印算法是通过验证时的方法进行溯源的。
38.具体的,之前的数据经过水印后,水印码都会被储存,溯源的时候,先取出所有水印码,依次对加水印后的一批数据进行验证匹配,完全匹配或者匹配率最高的水印信息即为溯源结果。
39.作为一种可选的实施方式,图2是本发明实施例提供的水印码生成方法的流程图,如图2所示,实时获取水印码包括:
40.s101、随机生成15位的字符串;
41.s102、将字符串中的每个字符与运算符建立映射,得到水印码。
42.通过随机算法生成15位的字符串,字符串中每个字符为数字。字符串中的每个数字均与一个运算符建立映射,从而得到15为的水印码。
43.作为一种可选的实施方式,图3是本发明实施例提供的水印信息生成方法的流程图,如图3所示,根据待加水印手机号及水印码计算对应的水印信息,包括:
44.s201、将待加水印手机号进行md5加密算法,得到32位的十六进制字符;
45.待加水印手机号由11位的数字组成,对11位的待加水印手机号进行md5加密算法,将11位的手机号转化为32位的十六进制字符。
46.s202、从32位的十六进制字符中截取连续的16位十六进制字符,并将该16位十六进制字符转换为16位十进制字符;
47.从32位的十六进制字符中截取连接的16位十六进制字符,例如,取第8到第23位的16位十六进制字符。
48.将16位的十六进制字符其转化成十进制,这样就得到了16位的十进制字符。
49.s203、采用16位十进制字符中的第一位十进制字符与第二位十进制字符通过水印码中的第一位字符对应的运算符进行计算,得到第一计算结果,采用第一计算结果与16位十进制字符中的第三位十进制字符通过水印码中的第二位字符对应的运算符进行计算,得到第二计算结果,以此类推,直至16位十进制字符均完成计算,得到最终计算结果;
50.将16位的十进制字符逐位通过15位水印码中的运算符进行计算,计算得到最终计算结果。
51.作为一种可选的实施例,15位的字符串中每个字符为0、1或2;其中,0与加号建立映射;1与减号建立映射;2与乘号建立映射。
52.在本实施例中,水印码中的每一位为0、1或2中的其中一个,需要严格按照该规则来生成水印码,后续的水印算法与水印码强相关。0对应“+”运算符,1对应“+”运算符,2对应“*”运算符。
53.如此,以上将16位的十进制字符逐位通过15位水印码中的运算符进行计算,可以实例表示为:
54.16位的十进制字符为:4231256432561223;
55.15位的水印码为:011211001100001
56.则最终计算结果可表示为:
57.(4+2-3-1)*2-5-6+4+3-2-5+6+1+2+2-3=1
58.s204、采用最终计算结果对4取余,得到余数;
59.将最终计算结果对4取余,得到每个待加水印手机号对应的余数。
60.s205、根据余数的值确定水印信息。
61.余数可能为0、1、2或3,每个值对应不同的水印信息,也即对应不同的区号表现方式。
62.作为一种可选的实施方式,图4是本发明实施例提供的水印信息确定方法的流程图,如图4所示,根据余数的值确定水印信息包括:
63.s2051、若余数为0,则确定水印信息为086;
64.s2052、若余数为1,则确定水印信息为+86;
65.s2053、若余数为2,则确定水印信息为(86);
66.s2054、若余数为3,则确定水印信息为空。
67.以手机号为13832565873为例,若其对4取余数的结果为0,则其加水印后为08613832565873:
68.若其对4取余数的结果为1,则其加水印后为+8613832565873;
69.若其对4取余数的结果为2,则其加水印后为(86)13832565873;
70.若其对4取余数的结果为3,则其进行水印算法后仍为13832565873。
71.对手机号添加水印信息后的效果如下,其中,phone是待加水印手机号,waterphone是已加水印手机号:
72.phone:13852505898 waterphone:13852505898
73.phone:13847105920 waterphone:13847105920
74.phone:13895819876 waterphone:13895819876
75.phone:13830470462 waterphone:13830470462
76.phone:13823906369 waterphone:+8613823906369
77.phone:13856035148 waterphone:(86)13856035148
78.phone:13863560359 waterphone:(86)13863560359
79.phone:13813883417 waterphone:13815883417
80.phone:13826966650 waterphone:(86)13826966650
81.phone:13882629599 waterphone:(86)13882629599
82.phone:13828766010 waterphone:13828766010
83.phone:13860736780 waterphone:(86)13860736780
84.phone:13825292946 waterphone:08613825292946
85.phone:13882167323 waterphone:+8613882167323
86.phone:13896060518 waterphone:08613896060518
87.phone:13839653341 waterphone:13839653341
88.phone:13813445483 waterphone:+8613813445483
89.phone:13854665740 waterphone:+8613854665740
90.phone:13882458457 waterphone:(86)13882458457
91.phone:13881934503 waterphone:08613881934503
92.本发明实施例还提供一种基于语义的水印添加装置,图5是本发明实施例提供的基于语义的水印添加装置的结构示意图,如图5所示,该装置包括:
93.数据获取模块100,用于实时获取水印码及待加水印手机号;
94.水印码为一串数字组成的字符串,用于生成加密后的水印信息。水印码每隔预定时间重新生成,预定时间可根据具体情况确定;也可每次开始计算前重新生成。
95.待加水印手机号由11位的数字组成,不包含手机号前的区号。
96.水印信息生成模块200,用于根据待加水印手机号及水印码计算对应的水印信息;其中,水印信息为区号;
97.采用水印码的数字字符串及待加水印的数字字符串进行加密计算,将计算结果转化为手机号码的区号,作为待加水印手机号对应的水印信息。
98.本实施例中,以国内区号为例,水印信息可能为086、+86或(86)。
99.水印添加模块300,用于将水印信息添加到对应待加水印手机号的前端,得到已加水印手机号。
100.将水印信息与待加水印手机号进行拼接,即将区号添加到手机号的前端,如此将水印信息添加到手机号中,得到已加水印手机号。
101.关于已加水印手机号的溯源,不同于一般的溯源算法,可以直接从加水印后的数
据中提取出溯源信息,该水印算法是通过验证时的方法进行溯源的。
102.具体的,之前的数据经过水印后,水印码都会被储存,溯源的时候,先取出所有水印码,依次对加水印后的一批数据进行验证匹配,完全匹配或者匹配率最高的水印信息即为溯源结果。
103.作为一种可选的实施方式,图6是本发明实施例提供的数据获取模块的结构示意图,如图6所示,数据获取模块100包括:
104.字符串生成子模块1001,用于随机生成15位的字符串;
105.映射建立子模块1002,用于将字符串中的每个字符与运算符建立映射,得到水印码。
106.通过随机算法生成15位的字符串,字符串中每个字符为数字。字符串中的每个数字均与一个运算符建立映射,从而得到15为的水印码。
107.作为一种可选的实施方式,图7是本发明实施例提供的水印信息生成模块的结构示意图,如图7所示,水印信息生成模块200包括:
108.加密子模块2001,用于将待加水印手机号进行md5加密算法,得到32位的十六进制字符;
109.待加水印手机号由11位的数字组成,对11位的待加水印手机号进行md5加密算法,将11位的手机号转化为32位的十六进制字符。
110.进制转换子模块2002,用于从32位的十六进制字符中截取连续的16位十六进制字符,并将该16位十六进制字符转换为16位十进制字符;
111.从32位的十六进制字符中截取连接的16位十六进制字符,例如,取第8到第23位的16位十六进制字符。
112.将16位的十六进制字符其转化成十进制,这样就得到了16位的十进制字符。
113.综合运算子模块2003,用于采用16位十进制字符中的第一位十进制字符与第二位十进制字符通过水印码中的第一位字符对应的运算符进行计算,得到第一计算结果,采用第一计算结果与16位十进制字符中的第三位十进制字符通过水印码中的第二位字符对应的运算符进行计算,得到第二计算结果,以此类推,直至16位十进制字符均完成计算,得到最终计算结果;
114.将16位的十进制字符逐位通过15位水印码中的运算符进行计算,计算得到最终计算结果。
115.作为一种可选的实施例,15位的字符串中每个字符为0、1或2;其中,0与加号建立映射;1与减号建立映射;2与乘号建立映射。
116.在本实施例中,水印码中的每一位为0、1或2中的其中一个,需要严格按照该规则来生成水印码,后续的水印算法与水印码强相关。0对应“+”运算符,1对应“+”运算符,2对应“*”运算符。
117.如此,以上将16位的十进制字符逐位通过15位水印码中的运算符进行计算,可以实例表示为:
118.16位的十进制字符为:4231256432561223;
119.15位的水印码为:011211001100001
120.则最终计算结果可表示为:
121.(4+2-3-1)*2-5-6+4+3-2-5+6+1+2+2-3=1
122.取余子模块2004,用于采用最终计算结果对4取余,得到余数;
123.将最终计算结果对4取余,得到每个待加水印手机号对应的余数。
124.水印信息确定子模块2005,用于根据余数的值确定水印信息。
125.余数可能为0、1、2或3,每个值对应不同的水印信息,也即对应不同的区号表现方式。
126.作为一种可选的实施方式,图8是本发明实施例提供的水印信息确定子模块的结构示意图,如图8所示,水印信息确定子模块2005包括:
127.第一水印信息确定单元20051,用于若余数为0,则确定水印信息为086;
128.第二水印信息确定单元20052,用于若余数为1,则确定水印信息为+86;
129.第三水印信息确定单元20053,用于若余数为2,则确定水印信息为(86);
130.第四水印信息确定单元20054,用于若余数为3,则确定水印信息为空。
131.以手机号为13832565873为例,若其对4取余数的结果为0,则其加水印后为08613832565873;
132.若其对4取余数的结果为1,则其加水印后为+8613832565873;
133.若其对4取余数的结果为2,则其加水印后为(86)13832565873;
134.若其对4取余数的结果为3,则其进行水印算法后仍为13832565873。
135.上述技术方案具有如下有益效果:通过将水印信息隐藏于数据语义中,虽然后改变数据内容,但是不会影响数据的语义,从而不会影响后续的业务功能;添加的内容并没有改变数据的语义,这样水印信息很难被发现而被删掉,具有很强的鲁棒性。
136.以上发明的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上内容仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1