一种文件水印隐藏、解析方法、装置、设备及存储介质与流程

文档序号:20277809发布日期:2020-04-07 14:45阅读:161来源:国知局
一种文件水印隐藏、解析方法、装置、设备及存储介质与流程

本申请涉及水印技术领域,具体而言,涉及一种文件水印隐藏、解析方法、装置、设备及存储介质。



背景技术:

随着通信网络和计算机的发展,越来越多的电子文档需要在网络上进行传输,同时,在传输的过程中,文档有很大的泄密风险。作为对数字产品的知识产权保护,数字水印技术是电子文档在传输过程中,进行保护的一种有效途径。

现有技术中的水印方式一般为,将包含操作者信息(操作者编号)的隐水印嵌入至电子文档中,并能在需要的时候将其提取出来。从而可以追溯到电子文档源,可见水印可以用来判别对象是否受到保护,并能够监视被保护数据的传播、真伪鉴别以及非法拷贝控制等。

但是这种将隐水印直接嵌入至电子文档中的方式,很容易被攻击者破坏及破解,这就造成了电子文档一旦被泄露,将无法追朔的问题,采用这种方式进行水印嵌入的泄露风险较高。



技术实现要素:

本申请的目的在于,针对上述现有技术中的不足,提供一种文件水印隐藏、解析方法、装置、设备及存储介质,以解决现有技术中水印容易泄露的问题。

为实现上述目的,本申请实施例采用的技术方案如下:

第一方面,本申请一实施例提供了一种文件水印隐藏方法,所述方法包括:

获取待处理文件和待嵌入水印信息;

根据所述待嵌入水印信息,以及预设映射关系,获取所述待嵌入水印信息对应的字符变换规则;

根据所述字符变换规则,调整所述待处理文件中的字符,生成隐藏水印的目标文件。

可选地,所述字符变换规则包括下述一种或组合:

将目标字符的倾斜角度调整预设角度;

将目标字符位移预设距离。

可选地,所述待嵌入水印信息包括一个或多个字符;

所述根据所述待嵌入水印信息,以及预设映射关系,获取所述待嵌入水印信息对应的字符变换规则,包括:

根据所述预设映射关系,依次获取所述待嵌入水印信息中的各字符对应的字符变换规则。

可选地,所述根据所述字符变换规则,调整所述待处理文件中的字符,生成隐藏水印的目标文件,包括:

在所述待处理文件中获取与所述待嵌入水印信息长度一致的一串待处理字符;

根据所述待嵌入水印信息中的各字符对应的字符变换规则,分别对所述待处理字符中的每个字符进行调整,生成隐藏水印的目标文件。

第二方面,本申请另一实施例提供了一种文件水印解析方法,所述方法包括:

获取包含隐藏水印的目标文件,所述目标文件中包含根据字符变换规则变换的字符;

根据预设识别规则,识别所述目标文件中变换后的字符;

根据预设映射关系,还原获取所述变换后的字符对应的水印信息。

可选地,所述变换后的字符包括一个或多个;

所述根据预设映射关系,还原获取所述变换后的字符对应的水印信息,包括;

根据预设映射关系,依次获取所述变换后的字符中每个字符对应的水印信息。

第三方面,本申请另一实施例提供了一种文件水印隐藏装置,所述装置包括:获取模块和生成模块,其中:

所述获取模块,用于获取待处理文件和待嵌入水印信息;根据所述待嵌入水印信息,以及预设映射关系,获取所述待嵌入水印信息对应的字符变换规则;

所述生成模块,用于根据所述字符变换规则,调整所述待处理文件中的字符,生成隐藏水印的目标文件。

可选地,所述待嵌入水印信息包括一个或多个字符;所述获取模块,还用于根据所述预设映射关系,依次获取所述待嵌入水印信息中的各字符对应的字符变换规则。

可选地,所述获取模块,还用于在所述待处理文件中获取与所述待嵌入水印信息长度一致的一串待处理字符;

所述生成模块,还用于根据所述待嵌入水印信息中的各字符对应的字符变换规则,分别对所述待处理字符中的每个字符进行调整,生成隐藏水印的目标文件。

第四方面,本申请另一实施例提供了一种文件水印解析装置,所述装置包括:获取模块、识别模块和还原模块,其中:

所述获取模块,用于获取包含隐藏水印的目标文件,所述目标文件中包含根据字符变换规则变换的字符;

所述识别模块,用于根据预设识别规则,识别所述目标文件中变换后的字符;

所述还原模块,用于根据预设映射关系,还原获取所述变换后的字符对应的水印信息。

可选地,所述变换后的字符包括一个或多个;所述获取模块,还用于根据预设映射关系,依次获取所述变换后的字符中每个字符对应的水印信息。

第五方面,本申请另一实施例提供了一种处理设备,包括:处理器、存储介质和总线,所述存储介质存储有所述处理器可执行的机器可读指令,当处理设备运行时,所述处理器与所述存储介质之间通过总线通信,所述处理器执行所述机器可读指令,以执行如上述第一或第二方面任一所述方法的步骤。

第六方面,本申请另一实施例提供了一种存储介质,所述存储介质上存储有计算机程序,所述计算机程序被处理器运行时执行如上述第一或第二方面任一所述方法的步骤。

本申请的有益效果是:采用本申请提供的、解析方法、装置、设备及存储介质,可以根据预设的映射关系,获取待嵌入水印信息对应的字符变换规则,并根据字符变换规则调整待处理文件中的字符,生成隐藏水印的目标文件,通过预设的映射关系将待嵌入水印信息隐藏在目标文件中,实现了将想要嵌入的水印内容隐藏在文件的字符变换中,提升了破解难度,相对于现有技术中将待嵌入水印直接嵌入至电子文档中的方式,大幅度降低了文件的泄露风险。

附图说明

为了更清楚地说明本申请实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。

图1为本申请一实施例提供的文件水印隐藏方法的流程示意图;

图2为本申请一实施例提供的文件水印解析方法的流程示意图;

图3为本申请一实施例提供的文件水印隐藏装置的结构示意图;

图4为本申请一实施例提供的文件水印解析装置的结构示意图;

图5为本申请一实施例提供的文件水印隐藏设备的结构示意图;

图6为本申请一实施例提供的文件水印解析设备的结构示意图。

具体实施方式

为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。

图1为本申请一实施例提供的一种文件水印隐藏方法的流程示意图,该方法的执行主体可以是各种具有处理功能的设备,例如服务器、计算机、手机、平板电脑、穿戴设备等,本申请在此不做任何限制。

在本申请的一个实施例中,该方法的应用场景为对公文(公用文件)的水印加密,但具体应用场景并不以此为限,任何需要对文件进行加密的场景均可使用该方法,例如:论文文件的水印加密、文学作品的水印加密等,这些文件中可以包括各类字符,例如不同语言类型的文字、数字、符号等,具体可以根据用户需要设计,本申请在此不做任何限制,如图1所示,该方法包括:

s101:获取待处理文件和待嵌入水印信息。

待嵌入水印信息可以也包括各类字符,例如不同语言类型的文字、数字、符号等。

举例说明,在对公文进行水印加密的应用场景下,待嵌入水印信息可以分为两类,一类是公文在分发之前,需要将组织机构的内容进行水印加密至公文中,其中,组织机构的内容可以包括:组织机构代码和单位标识等信息;另一类是公文被操作之前,需要将当前操作的用户内容进行水印加密至公文中,其中,用户内用可以为用户编号、用户标识等信息;具体水印嵌入的时机,和水印嵌入的内容,本申请在此不做任何限制。

可选地,待处理文件的类型可以包括:文档(word)、电子表格(excel)、便携式文档(pdf)、演示文稿(ppt)等,但并不以上述实施例为限,任何当前的主流文件类型均可,本申请在此不做任何限制。

s102:根据待嵌入水印信息,以及预设映射关系,获取待嵌入水印信息对应的字符变换规则。

本申请的关键在于提供了预设映射关系,将本身要嵌入的水印信息转换为文档中原本字符的变换。例如本身要嵌入文档一个字符“a”,根据预设变换规则获取“a”对应的字符变换规则是移动一个字符0.5mm。

s103:根据字符变换规则,调整待处理文件中的字符,生成隐藏水印的目标文件。

上述获取字符变换规则后,可以在待处理文件确定目标字符完成对应的变换,并生成隐藏水印的目标文件。

可选地,在本申请的一个实施例中,目标文件可以为只读形式的便携式(pdf)文件,但是具体目标文件的设置可以根据用户需要选择,本申请在此不做任何限制。

可选地,生成目标文件后,可以通过分发系统将目标文件发送至需要的各客户端。

采用本申请提供的文件水印隐藏方法,可以根据预设的映射关系,获取待嵌入水印信息对应的字符变换规则,并根据字符变换规则调整待处理文件中的字符,生成隐藏水印的目标文件,通过预设的映射关系将待嵌入水印信息隐藏在目标文件中,实现了将想要嵌入的水印内容隐藏在文件的字符变换中,提升了破解难度,相对于现有技术中将待嵌入水印直接嵌入至电子文档中的方式,大幅度降低了文件的泄露风险。

可选地,字符变换规则包括下述一种或组合:将目标字符的倾斜角度调整预设角度;将目标字符位移预设距离。

其中,目标字符为待处理字符中的字符,待处理字符中包括至少一个目标字符。需要说明的是,目标字符可以是随机选择的,也可以预先配置选择规则,本实施例中不作具体限制。

待处理字符中,各目标字符对应的字符变换规则可以相同,也可以不同,具体变换规则的选择可以根据用户需要设置,本申请在此不做任何限制。

可选地一种实施方式中,待嵌入水印信息可以转换为二进制形式,预设映射关系为二进制编码和字符变换规则之间的映射关系。例如,先将待嵌入水印信息转换为一段二进制编码,举例说明:若当前待嵌入水印为员工编码0986hr,此时预配置的转换算法的转换后,该待嵌入水印信息记为“11000000100011101”这个二进制编码,随后根据预设映射关系继续获取字符变换规则。

可选地,在本申请的一个实施例中,预配置的转换算法为二进制编码和十进制编码的转换关系,但是具体实施过程中,也可以为二进制编码和十六进制编码的映射关系,或者二进制编码和其他字符串之间的转换关系,本申请在此不做任何限制。

可选地,待嵌入水印信息包括一个或多个字符。相应地,不同字符对应的字符变换规则可以不同,在根据字符变换规则对待处理文件中的目标字符串进行变换时,可以仅改变该目标字符串中每个字符的倾斜度;也可以仅改变该目标字符串中每个字符的偏移位置;也可以改变该目标字符传中一部分字符的倾斜度,改变另一部分字符的偏移位置;具体目标字符串的变换方式可以根据用户需要调整,本申请在此不做任何限制。

可选地,在本申请的一个实施例中,例如,二进制中的1对应的字符变换规则为:字符的字体倾斜-0.5°~-1°。二进制的0对应的字符变换规则为:字符的字体倾斜0.5°~1°。又或者,二进制中的1对应的字符变换规则为:字符向左偏移1/150英寸;二进制的0对应的字符变换规则为:向右偏移1/150英寸之内。

进一步地,待嵌入水印信息包括一个或多个字符,则s102可包括:根据预设映射关系,依次获取待嵌入水印信息中的各字符对应的字符变换规则。

其中,若待嵌入水印信息原本就是二进制字符,那么可以直接获取每个字符对应的字符变换规则。或者先将待嵌入水印信息转换为二进制字符,再获取每个转换后的二进制字符对应的字符变换规则。当然,本申请实施例不以此为限,也可以直接配置不同字符和字符变换规则的对应关系,本实施例通过二进制可以简化预配置数据量和处理效率。

可选地,s103可包括:在待处理文件中获取与待嵌入水印信息长度一致的一串待处理字符;根据待嵌入水印信息中的各字符对应的字符变换规则,分别对待处理字符中的每个字符进行调整,生成隐藏水印的目标文件。

其中,待处理字符的字符长度,可以根据预配置的转换算法获取的待嵌入水印信息对应的二进制编码确定,例如:待嵌入水印信息为:0121ui的员工编码,则根据预配置的转换算法获取到该待嵌入水印信息对应的二进制编码为10111100111001,包括14个数字,所以需要在待处理文件中获取连续的14个字符作为目标字符串,根据预设映射关系获取对应的字符变换规则,并按照字符串的字符顺序和字符变换规则依次对目标字符串中的每个字符进行处理。举例说明:以仅根据目标字符的倾斜角度调整预设角度为例,上述目标字符为了隐藏待嵌入水印信息对应的二进制编码,可以做如下处理:目标字符中的第一个字符偏移1度,第二个字符偏移-1度,第三个字符偏移1度,第四个字符偏移1度,第五个字符偏移1度,第六个字符偏移1度,第七个字符偏移-1度,第八个字符偏移-1度,第九个字符偏移1度,第十个字符偏移1度,第十一个字符偏移1度,第十二个字符偏移-1度,第十三个字符偏移-1度,第十四个字符偏移1度,至此完成整个目标字符串的偏移,通过调整目标字符串中每个目标字符的偏移角度,将待嵌入水印信息对应的二进制编码隐藏在的待处理文件中。

其中,目标字符选取的位置本申请在此不做任何限制,只需在待处理文件中,获取一段与待嵌入水印对应的二进制编码长度数量一致的连续字符串即可,一个待处理文件中,可以包括至少一个目标字符串,本申请在此不做任何限制。

其中,当字符的字体倾斜小于一定角度,例如在0.5°~1°之间时,人的肉眼是难以发现的,这就保证了水印以这种形式隐藏的隐秘性和不易破解性,但是与这段倾斜的字体相邻的两个字并没有倾斜,以这两个作为参考,就可以识别字体是否倾斜,以及倾斜的具体角度,这就保证了水印肉眼无法识别,但通过程序可以识别。同样的,字符位移小于一定距离,例如在1/150英寸之内时,肉眼难以发现,也可以保证水印隐藏的隐秘性和不易破解性。

采用本申请提供的文件水印隐藏方法,可以根据预设的映射关系,获取待嵌入水印信息对应的字符变换规则,并根据字符变换规则调整待处理文件中的字符,其中,字符变换规则可以根据用户需要灵活选择,生成隐藏水印的目标文件,通过预设的映射关系将待嵌入水印信息隐藏在目标文件中,相对于现有技术中将待嵌入水印直接嵌入至电子文档中的方式,大幅度降低了文件的泄露风险,并且水印隐藏方法非常隐秘,肉眼无法察觉,保证了水印隐藏的隐秘性。

基于上述实施例嵌入隐藏水印后,在具体使用过程中,还需要对水印进行解析,即获取原本要嵌入的水印内容。

图2为本申请一实施例提供的文件水印解析方法,如图3所示,该方法包括:

s201:获取包含隐藏水印的目标文件,目标文件中包含根据字符变换规则变换的字符。

其中,包含隐藏水印的目标文件可以为图片形式,也可以为pdf形式的文件,可以为完整文件,也可以为完整文件中的部分文件,该文件中包括采用上述方法隐藏的水印;其中,图片形式的文件可以使截取的图片,也可以是拍摄的图片,本申请在此不做任何限制。

s202:根据预设识别规则,识别目标文件中变换后的字符。

与前述方法实施例对应的,根据隐藏水印的过程,逆向解读其中变换后的字符。例如先找出角度或距离有变化的字符,再确定他们具体变化的内容。例如,目标字符的位于预设范围为1/150英寸以内;目标字符的倾斜度预设角度范围为-0.1°~-0.5°和0.5°~1°。

其中,预设识别规则可以包括:对目标字符位移的识别,判断目标字符是否发生了预设范围内的位移;或者目标字符是否有预设角度的倾斜。

其中,在本申请的一个实施例中,字符的字体倾斜-0.5°~-1°时,预设识别规则即将其识别为二进制中的1,字符的字体倾斜0.5°~1°时,预设识别规则即将其识别为二进制的0;字符向左偏移1/150英寸之内时,预设识别规则即将其识别为二进制的0,向右偏移1/150英寸之内时,预设识别规则即将其识别为二进制的1。

s203:根据预设映射关系,还原获取变换后的字符对应的水印信息。

根据不同预设映射关系的配置,可以直接解析出对应的水印信息,也可以先解析到二进制信息,再进一步转换出对应的水印信息,在此不作具体限制。

可选地,根据预设映射关系和s202中获得到的二进制编码,通过预配置的转换算法确定二进制编码对应的水印信息,从而根据水印信息获取用户信息。

可选地,在本申请的一个实施例中,预配置的转换算法为二进制编码和十进制编码的映射关系,但是具体实施过程中,也可以为二进制编码和十六进制编码的映射关系,或者二进制编码和八进制编码的映射关系,具体映射关系的设置可以根据用户需要调整,本申请在此不做任何限制。

举例说明:若识别出的二进制编码为10111100111001,则进一步将该二进制编码转化为十进制编码0121ui,此时该十进制编码即为最终解析出的用户信息。

采用本申请提供的文件水印解析方法,可以根据预设识别规则,对获取包含隐藏水印的目标文件经过变换的字符进行识别,随后根据预设映射关系还原获取变换后的字符对应的水印信息,这样的解析方式可以使得被嵌入文档中的水印被还原,通过还原结果确定用户隐藏的信息,从而获取用户信息可以有效追溯文件源及泄露源。

可选地,变换后的字符包括一个或多个,则s203包括:根据预设映射关系,依次获取变换后的字符中每个字符对应的水印信息。

图3为本申请一实施例提供的文件水印隐藏装置的结构示意图,如图3所示,该装置包括:获取模块301和生成模块302,其中:

获取模块301,用于获取待处理文件和待嵌入水印信息;根据待嵌入水印信息,以及预设映射关系,获取待嵌入水印信息对应的字符变换规则。

生成模块302,用于根据字符变换规则,调整待处理文件中的字符,生成隐藏水印的目标文件。

可选地,待嵌入水印信息包括一个或多个字符;获取模块201,还用于根据预设映射关系,依次获取待嵌入水印信息中的各字符对应的字符变换规则。

可选地,获取模块301,还用于在待处理文件中获取与待嵌入水印信息长度一致的一串待处理字符。

生成模块302,还用于根据待嵌入水印信息中的各字符对应的字符变换规则,分别对待处理字符中的每个字符进行调整,生成隐藏水印的目标文件。

图4为本申请一实施例提供的文件水印解析装置的结构示意图,如图所示,该装置包括:获取模块401、识别模块402和还原模块403,其中:

获取模块401,用于获取包含隐藏水印的目标文件,目标文件中包含根据字符变换规则变换的字符。

识别模块402,用于根据预设识别规则,识别目标文件中变换后的字符。

还原模块403,用于根据预设映射关系,还原获取变换后的字符对应的水印信息。

可选地,变换后的字符包括一个或多个;获取模块401,还用于根据预设映射关系,依次获取变换后的字符中每个字符对应的水印信息。

上述装置用于执行前述实施例提供的方法,其实现原理和技术效果类似,在此不再赘述。

以上这些模块可以是被配置成实施以上方法的一个或多个集成电路,例如:一个或多个特定集成电路(applicationspecificintegratedcircuit,简称asic),或,一个或多个微处理器(digitalsingnalprocessor,简称dsp),或,一个或者多个现场可编程门阵列(fieldprogrammablegatearray,简称fpga)等。再如,当以上某个模块通过处理元件调度程序代码的形式实现时,该处理元件可以是通用处理器,例如中央处理器(centralprocessingunit,简称cpu)或其它可以调用程序代码的处理器。再如,这些模块可以集成在一起,以片上系统(system-on-a-chip,简称soc)的形式实现。

图5为本申请一实施例提供的文件水印隐藏设备的结构示意图,该文件水印隐藏设备可以集成于终端设备或者终端设备的芯片。

如图5所示,该文件水印隐藏设备包括:处理器501、存储介质502和总线503。

处理器501用于存储程序,处理器501调用存储介质502存储的程序,以执行上述图1对应的方法实施例。具体实现方式和技术效果类似,这里不再赘述。

可选地,本申请还提供一种程序产品,例如存储介质,该存储介质上存储有计算机程序,包括程序,该程序在被处理器运行时执行上述图1对应的方法实施例。

图6为本申请一实施例提供的文件水印解析设备的结构示意图,该文件水印解析设备可以集成于终端设备或者终端设备的芯片。

如图6所示,该文件水印解析设备包括:处理器601、存储介质602和总线603。

处理器601用于存储程序,处理器601调用存储介质602存储的程序,以执行上述图2对应的方法实施例。具体实现方式和技术效果类似,这里不再赘述。

可选地,本申请还提供一种程序产品,例如存储介质,该存储介质上存储有计算机程序,包括程序,该程序在被处理器运行时执行上述图2的方法对应的实施例。

在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。

上述以软件功能单元的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能单元存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(英文:processor)执行本申请各个实施例所述方法的部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(英文:read-onlymemory,简称:rom)、随机存取存储器(英文:randomaccessmemory,简称:ram)、磁碟或者光盘等各种可以存储程序代码的介质。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1