CN110704813A - 一种基于字符重新编码的文字防盗版系统 - Google Patents
一种基于字符重新编码的文字防盗版系统 Download PDFInfo
- Publication number
- CN110704813A CN110704813A CN201910996905.1A CN201910996905A CN110704813A CN 110704813 A CN110704813 A CN 110704813A CN 201910996905 A CN201910996905 A CN 201910996905A CN 110704813 A CN110704813 A CN 110704813A
- Authority
- CN
- China
- Prior art keywords
- character
- recoding
- content
- module
- font
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000013507 mapping Methods 0.000 claims description 46
- 238000009877 rendering Methods 0.000 claims description 19
- 238000004806 packaging method and process Methods 0.000 claims description 14
- 230000011218 segmentation Effects 0.000 claims description 11
- 230000006835 compression Effects 0.000 claims description 10
- 238000007906 compression Methods 0.000 claims description 10
- 238000000034 method Methods 0.000 description 30
- 230000002265 prevention Effects 0.000 description 17
- 230000008569 process Effects 0.000 description 8
- 238000012545 processing Methods 0.000 description 8
- 238000012015 optical character recognition Methods 0.000 description 6
- 238000004422 calculation algorithm Methods 0.000 description 5
- 238000013329 compounding Methods 0.000 description 5
- 238000005336 cracking Methods 0.000 description 5
- 238000013475 authorization Methods 0.000 description 4
- 230000005540 biological transmission Effects 0.000 description 4
- 238000006243 chemical reaction Methods 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 4
- 230000002829 reductive effect Effects 0.000 description 4
- 230000003247 decreasing effect Effects 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 230000009466 transformation Effects 0.000 description 3
- 206010000117 Abnormal behaviour Diseases 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 230000007547 defect Effects 0.000 description 2
- 208000037265 diseases, disorders, signs and symptoms Diseases 0.000 description 2
- 230000014509 gene expression Effects 0.000 description 2
- 230000000670 limiting effect Effects 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 230000035772 mutation Effects 0.000 description 2
- 239000000123 paper Substances 0.000 description 2
- 230000002441 reversible effect Effects 0.000 description 2
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 description 2
- 241000283973 Oryctolagus cuniculus Species 0.000 description 1
- 241001441724 Tetraodontidae Species 0.000 description 1
- 238000009825 accumulation Methods 0.000 description 1
- 230000003044 adaptive effect Effects 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000000903 blocking effect Effects 0.000 description 1
- 230000001010 compromised effect Effects 0.000 description 1
- 230000009193 crawling Effects 0.000 description 1
- ZINJLDJMHCUBIP-UHFFFAOYSA-N ethametsulfuron-methyl Chemical compound CCOC1=NC(NC)=NC(NC(=O)NS(=O)(=O)C=2C(=CC=CC=2)C(=O)OC)=N1 ZINJLDJMHCUBIP-UHFFFAOYSA-N 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 230000002349 favourable effect Effects 0.000 description 1
- 230000001788 irregular Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 239000011087 paperboard Substances 0.000 description 1
- 230000006798 recombination Effects 0.000 description 1
- 238000005215 recombination Methods 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 238000005406 washing Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/10—Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/602—Providing cryptographic facilities or services
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Technology Law (AREA)
- Multimedia (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Controls And Circuits For Display Device (AREA)
Abstract
本发明公开了一种基于字符重新编码的文字防盗版系统包括:重新编码模块,用于对待发表内容所使用到的字符集中的每个字符进行重新编码,不同字符对应的重新编码值不同;字体生成模块,用于基于所述字符集对应的重新编码值为待发表内容生成对应的字体文件。本发明在不影响用户阅读体验以及不显著增加流量开销的前提下,极大地提升了文字内容的盗版难度和成本,实现了很好的防盗版特性。
Description
技术领域
本发明涉及电子书防盗版、文字防盗版、文学防盗版、文章防盗版等技术领域,具体涉及一种基于字符重新编码的文字防盗版系统。
背景技术
文字具有信息量大、存储空间小、极易被盗版等特点。时至今日,网文盗版读者的比例仍远高于正版读者,盗版问题已经严重侵害了作者和发行商的合法利益。为解决盗版问题,阅文集团等各大网文和电子书发行商曾尝试过把文字内容转换为图片(将每个付费章节的内容转换为一张或多张布满文字的图片)的形式进行发布,但最终由于弊大于利而大多放弃。
更一般地说,现今网络环境中博客、知乎、BBS论坛、公众号、微博、朋友圈乃至各大学术论文发表站等各处均充斥着抄袭(未经许可转载)、洗文(使用工具稍微修改后转载,例如将“张三高兴极了”转换为“张三乐坏了”)等盗版乱象,其混乱程度甚至远超有强大法务团队积极维权的阅文集团等网络文学领域。
现有的将章节和段落转换为图片来防盗版的方式存在如下几大问题:
1)图片仍然很容易被复制,盗版方只需要将盗版方式从复制字符序列的“盗字”变为直接复制图片的“盗图”即可。盗版难度和成本几无任何上升,甚至对于自动下载脚本等目前普遍常用的自动化盗版工具来说,由于无需深入分析dom树结构等内容,直接下载图片的盗图比盗字往往还来的更简单。
2)预先生成的图片宽度、高度等尺寸固定,难以适应桌面、手机、平板等各种不同阅读设备上千变万化的屏幕尺寸。不说桌面(PC、MAC)与手机设备屏幕尺寸的巨大差异。单说不同PC机之间,或不同手机之间的屏幕宽度、高度和分辨率等参数就千变万化,各有不同。
例如:3840x2160(4K)与1366x768都是现在主流的桌面端显示器分辨率,两者对于显示图片的宽高要求明显差异巨大。
更不用说即使同在4K屏上,每个用户希望每行显示的字数(行宽)也各有不同。有些用户可能希望每行显示字数越多越好(尽可能沾满屏幕)、另一些用户则可能希望仅在屏幕中间显示文字(两边大量留白)、还有些用户可能希望介于以上两者之间(两侧根据各自喜好适当留白)等等。
由此可见,即使在相同的4K桌面设备上,不同用户也会有不同阅读设置偏好。更不用提尺寸和分辨率都相差巨大的不同设备间了,这不是死板地预先生产图片能解决的问题。
3)预先生成的图片字体、字号、行间距等选项均无法根据用户喜好自行设置。不同用户在阅读时偏好的字体、字号、颜色、背景、字间距、行间距、对齐方式、渲染方式(如ClearType设置)等均各不相同。
例如:用户A喜欢使用微软雅黑32pt黑色大字体,在淡黄色旧信纸背景下加水线(浅色下划线)以0.5倍行间距来阅读;另一个用户B则喜欢使用圆体14pt白色字体,在深褐色背景下不加水线以0.25倍行间距来阅读。
由此可见,死板地预先生成图片显然无法照顾到这些喜好。
4)无法通过鼠标、键盘触摸屏等方式自由选中文字。很多读者在阅读的同时会习惯性地选中(反选、高亮)正在阅读的句子和段落,以此来辅助阅读(帮助集中注意力和定位视线、帮助换行阅读等)。而图片则无法支持这些操作,这极大地影响了阅读体验。
5)图片传输成本远高于文本。图片传输本身会造成数据的极大膨胀,即使在使用了gif、png等压缩算法后,一段仅几KB的文本转换为图片后也经常会膨胀到数百KB甚至更多。
因此,现有的文本转图片方法既没有有效地增加盗版成本,又极大地劣化了正版用户的阅读体验,故已逐渐被大多数网络文字内容发行方逐渐屏弃。
发明内容
针对现有技术中的缺陷,本发明提供一种基于字符重新编码的文字防盗版系统,包括:
重新编码模块,用于对待发表内容所使用到的字符集中的每个字符进行重新编码,不同字符对应的重新编码值不同;
字体生成模块,用于基于所述字符集对应的重新编码值为所述待发表内容生成对应的字体文件。
优选地,所述字体生成模块具体用于:为所述待发表内容生成对应的字体文件,所述字体文件包括:所述字符集中的每个字符所对应的至少一个重新编码值、所述字符集中的每个字符所对应的至少一个字符图形、以及至少一个重新编码值和字符图形之间映射关系的映射关系表;
其中,在所述映射关系表中,每个重新编码值以一对一的形式对应一个字符图形、或每个重新编码值以一对多的形式对应多个字符图形、或多个重新编码值以多对一的形式对应一个字符图形、或多个重新编码值以多对多的形式对应多个字符图形;
每个字符对应的一个或多个重新编码值所分别对应的多个变异的字符图形完全相同或存在不显著影响用户阅读体验的细微差别。
优选地,还包括:字符集统计模块,用于统计待发表文字所使用到的字符集,所述字符集中的每个字符独立且不重复。
优选地,所述重新编码模块具体用于:通过随机编码的方式为所述字符集中的每个字符进行重新编码,每个字符对应至少一个重新编码值;
所述字体文件中包含随机排序的重新编码值、随机排序的字符图形以及随机排序的映射关系表;
所述字体生成模块具体用于:对重新编码值、字符图形以及映射关系表以随机排序的形式来生成对应字体文件;
所述字符集统计模块所生成的字符集统计结果以随机的方式进行排序。
优选地,还包括:内容发表模块,用于将所述待发表内容和以所述待发表内容执行所述重新编码模块和字体生成模块所得到的对应字体文件进行关联发布。
优选地,还包括:字符组合模块,用于对待发表内容中的字符序列进行随机和/或规则地拆分和/或组合,得到处理后的字符序列。
优选地,还包括:间距调整模块,用于对阅读终端的用户界面所显示内容的行间距和/或字间距进行随机和/或规则地调整。
优选地,所述内容发表模块包括:
压缩单元,用于对已重新编码的待发表内容以及对应的字体文件进行压缩处理;
加密单元,用于对压缩处理后的待发表内容及其对应字体进行加密处理;
打包单元,用于对加密处理后的待发表内容及其对应字体进行打包处理,并生成一套可供使用的发布包。
优选地,还包括:内容切分模块,用于将待发表文章逐章、逐节、逐段、逐块或随机地进行内容切分,得到多个所述待发表内容;
其中,每个切分后的所述待发表内容各自独立。
优选地,还包括:内容展现模块,用于在阅读终端的用户界面中使用配对的字体将所述待发表内容进行渲染,并在渲染所述已发表内容时,对其字间距、行间距、倾斜角度、颜色和背景等参数进行随机和/或规则地调整。
本发明的有益效果体现在:
本发明提供的文字防盗版系统,可通过随机字符集编码和配套字体生成;多对多映射和字符变异;字符复合与拆分;字间距、行间距随机调整;压缩、加密和打包;逐节逐段切分;以及鉴权、授权以及访问控制等一系列技术手段,最终在不影响用户阅读体验以及不显著增加流量开销的前提下,极大地提升了文字内容的盗版难度和成本,实现了很好的防盗版特性。
附图说明
为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍。在所有附图中,类似的元件或部分一般由类似的附图标记标识。附图中,各元件或部分并不一定按照实际的比例绘制。
图1为本发明实施例一的基于字符重新编码的文字防盗版系统的模块组成示意图;
图2为本发明实施例的字符复合与拆分示意图。
具体实施方式
下面将结合附图对本发明技术方案的实施例进行详细的描述。以下实施例仅用于更加清楚地说明本发明的技术方案,因此只作为示例,而不能以此来限制本发明的保护范围。
需要注意的是,除非另有说明,本申请使用的技术术语或者科学术语应当为本发明所属领域技术人员所理解的通常意义。
为了更清楚地理解本发明,首先对现有的字符编码技术、防盗版技术及其缺陷进行以下说明。
目前,文本内容中的每个字符在计算机中都由一个唯一的数字(通常为整数)来代表。将一个字符集中的每个字符(文字)映射为对应数字的规范则被称之为“字符集编码”。
对同一个字符(文字),不同的字符集编码可能将其映射为不同的数字。例如同样对英文大写字母‘A’,ASCII字符集编码将其映射为数字0x41(十进制65),而EBCDIC字符集编码则将其映射为0xC1(十进制193)。
但一组相互兼容的字符集编码则一般会将相同的字符映射为相同的数值,例如GBK/GB18030与UTF-8都与ASCII兼容,因此它们都将英文大写字母‘A’映射为0x41。
字符集编码是计算机表示、传输和存储文本数据的方式。在计算机设备中,一段文字就是由其中逐个字符对应编码的有序排列来表示的。例如:由“0x41 0x42 0x43”三个字节依次组成的序列,如果用ASCII码来解读就表示了由三个大写英文字母“ABC”组成的一段文本。
现今的所有文本内容几乎都是由类似上述的编码方式来传输和存储的。例如我们常用的中文字符集就经常使用GB2312、GBK、GB18030等编码方式来传输和存储。同样常见的还有几乎包含了全人类语言文字的UNICODE字符集以及与其对应的UTF-8、UTF-16、UTF-32、UCS-2、UCS-4等编码方式。
其实GB18030在涵盖的字符集上与UNICODE已经基本等价,它们都包含了超过十万个,涵盖全人类各种语言文字的字符集合,但是其编码方式并不兼容UTF-8等。比如中文字符“我”在GB18030等GB系列编码中对应的数值编号为0xCED2,而“我”在UTF-8等UNICODE系列编码中对应的数值编号则是0x6211,两者完全不同。因此以GB18030的规则来解析一段使用UTF-8编码的文本后,将无法得到正确的结果,这种情况下通常会看到一段乱码,反之亦然。
当然,包含相同字符集的不同字符集编码之间是可以相互转换的。例如某个ASCII编码的文本文件a.txt中若只包含一个字节0x41(大写英文字母‘A’),则只要将其改写为0xC1就完成了将此文件转换为EBCDIC编码的过程。同理,若有一个GB18030编码的文本文件b.txt中仅包含两个字节0xCED2,只要将其改写为0x6211就可以将其转换为UNICODE(UCS-2/UTF-16)编码了。
以上是计算机如何对文字进行编码和表示的简要描述。在计算机能够通过字符集编码来表达、传输和存储一段文字信息以后,还要通过将其映射到对应字体中的字符的方式来进行渲染,渲染后的结果才是用户在桌面、手机、平板以及电子书等设备上最终看到的文字段落。
通常而言,每个字体内都会带有一个或多个被称为“cmap”(Character to GlyphIndex Mapping Table)的转换表,这些转换表用于将GB18030、UCS-2等不同字符集编码的字符映射到该字体中的某个具体图形(这里每个图形通常就是一个文字符号)的描述(图形的描述中可以包含点阵、矢量、绘制规则和脚本等内容)。一个字符的图形描述详细具体地说明了该字符应该如何被绘制或打印出来。
例如:在某个名为“我的草书”的字体中,就可以包含GB18030和UCS-4等两个不同的cmap索引表。其中前者(第一张cmap映射表)将编码为0x41的字符映射到大写字母‘A’的图形描述上,又将编码为0xCED2的字符映射到中文“我”的图形描述上;而后者(第二张cmap映射表)同样将编码为0x41的字符映射到大写字母‘A’的图形描述上,又将编码为0x6211的字符映射到中文“我”的图形描述上,其它以此类推。
当然,对于缺少直接支持某种编码cmap的字体,可通过字符集转换来渲染。例如某个名为“我的宋书”的字体中,仅包含了UCS-4编码的cmap索引表(在本文中,若无其它说明,“cmap索引表”与“映射关系表”等义,cmap为映射关系表的一种形式)。那么在使用该字体来渲染一段使用GB18030编码的文本时,可先将该段文本转换为UCS-4编码,然后再使用该字体来渲染转换后的UCS-4编码数据。
需要注意的是:虽然此处“cmap”等名称是以TrueType/OpenType字体格式中的术语为例,但其它字体格式也均包含类似或功能上等价的索引和映射机制。因此,除非特别指出,否则本发明中描述的“cmap”等属于但不仅限于TrueType/OpenType字体格式,而是泛指所有与之类似或等价的功能机制。
由以上描述可知,要对一段文字进行盗版(复制、编辑和重新发布展现)需满足以下3个基本条件:
1.获得要盗版文章的已编码二进制文本(字符串)数据。
2.获得该二进制文本(字符串)数据使用的字符集编码规则。
3.使用兼容该字符集的字体对文本(字符串)数据进行逐字渲染。
现有技术文本转图片的方法本质上是通过阻断上述第一条来防盗版,但是正如背景技术中所述,一方面直接对图片进行盗版其实更简单,另一方面这也极大地影响了正版用户的阅读体验。
基于此,本发明主要针对上述后两点来防盗版。下面对本发明的基于字符重新编码的文字防盗版系统进行详细说明。
实施例一
图1为本发明实施例一的基于字符重新编码的文字防盗版系统的模块组成示意图。如图1所示,该文字防盗版系统包括:重新编码模块1和字体生成模块2。其中,重新编码模块1与字体生成模块2相连。
重新编码模块1,用于对待发表内容所使用到的字符集中的每个字符进行重新编码,不同字符对应的重新编码值不同。
优选地,重新编码模块1具体用于:对待发表内容所使用到的字符集中的每个字符进行随机编码,每个字符对应至少一个重新编码值。
具体地,对要发表文章中的每个字符进行随机编码,即不遵循GB18030、UTF-8等现有公知编码标准,而是使用随机的方法为待发表内容所使用到的字符集中的每个字符重新赋予一个随机的编码值。
例如:要发表三篇文章A、B和C,文章A为一本100万字的书,文章B为一篇3000字的小说章节,文章C为一篇6000字的微信公众号或者博客文章。文章A中的“我”字可能被编码为0x1984,而文章B中的“我”则可能变成了0x8347、文章C中的“我”则被编码成了0x572等等。即每个字符的随机编码值是不固定的,随机的。
需要说明的是,本实施例中的重新编码除了采用随机编码的方式外,还可以采用其他特定方式进行重新编码。
字体生成模块2,用于基于所述字符集对应的重新编码值为所述待发表内容生成一套或多套对应的字体文件。
优选地,所述字体文件包括:所述字符集中的每个字符所对应的重新编码值、所述字符集中的每个字符所对应的字符图形以及用于记录重新编码值和字符图形之间映射关系的映射关系表。
上述字体文件中的各个信息还可以随机排序。优选地,字体文件中包含随机排序的重新编码值、随机排序的字符图形以及随机排序的映射关系表。需要说明的是,字符集以及字体文件中的重新编码值、字符图形以及映射关系表也可以不是随机排序的,例如按照特定算法来进行排序。
具体地,为每篇要发表的文章分别生成对应的专用字体文件,该字体文件中仅以乱序的方式包含对应文章所使用到的精确字符集中的字符相关图形描述和cmap映射信息,同时也仅包含在上一步中针对该文章所采用的一张或多张随机编码的cmap映射表。字符相关图形描述即字符图形,cmap映射信息包括随机编码和每个字符所对应的随机编码和字符图形的映射关系表。
例如:与文章A对应的字体仅乱序(随机排序)地包含了该篇文章所用到的4268个字符,同时其cmap中也只包含了这些字符的映射关系,并且其cmap中的“我”字对应的图形描述的编码为0x1984。
而与文章B对应的字体仅乱序(随机排序)地包含了该篇文章所用到的610个字符,同时其cmap中也只包含了这些字符的映射关系,并且其cmap中的“我”字对应的图形描述的编码为0x8347。
同理,与文章C对应的字体仅乱序(随机排序)地包含了该篇文章所用到的925个字符,同时其cmap中也只包含了这些字符的映射关系,并且其cmap中的“我”字对应的图形描述的编码为0x572。
在一个优选的实施例中,文字防盗版系统还可以包括:内容发表模块,用于将所述待发表内容和以此内容执行所述重新编码、字体生成等模块所得到的对应字体文件进行关联、捆绑和发布。
具体地,将已经过随机字符集编码的文章内容与与之对应的专用字体一起进行关联标记或捆绑发布。
优选地,内容发表模块具体用于:将所述待发表内容和一次或多次执行字体生成模块2所得到的一套或多套字体文件进行捆绑发布,每套字体文件中的字符图形的字体可以不同。
具体地,重复执行上述字体生成模块2(或在一次执行中指定多个字体参数)为每篇文章分别生成多种不同的专用字体,如:可以为文章B同时生成对应的雅黑、宋体、楷体等不同对应专用字体,其中每个字体都只包含了文章B中用到的610个字符,并且也仅包含文章B所使用的随机编码cmap映射表。
在一个优选的实施例中,文字防盗版系统还可以包含内容展现模块,用于在浏览器、App等终端UI中使用配对的字体将内容进行渲染。在渲染时,可对其字间距、行间距、倾斜角度、颜色和背景等参数进行随机和/或规则地调整。
可见,由于使用了与普通文本完全一样的标准字体渲染方法,因此该文章的阅读体验可做到与阅读普通文本完全一致,其行宽、字体、字号、颜色、背景、字间距、行间距、对齐方式、渲染方式(如ClearType设置)等均可根据用户喜好随意配置。其反选高亮等行为表现也与普通文本渲染完全相同。
与此同时,相比于将文本全部转换为图片进行传输的方案,本实施例仅传输包含指定字符集的专用字体也大大减少了流量开销。
但由于没有采用任何已知通用或固定的字符集编码标准,因此用户将文章中的文本内容复制出去是没有任何意义的。将其粘贴到它处就会变为无规则的乱码。用户至少还需要通过其它技术(见下文)的重重保护拿到与之配对的字体,并将该字体与其严格配对的文章两两一起在其盗版渠道(网页或App)上正确地配对渲染,才能够实现对其内容的盗版。这需要大量文字编码、字体渲染、以及密码编码学等方面的技术积累和较高的工作量才能实现,极大提高了盗版的难度和显著增加了盗版成本。并且显而易见地,由于编码和字符集等方面的重重限制,对上述内容进行编辑洗文等加工则更加困难。
需要说明的是,上述模块在执行时,可针对某个完整字符集(如:UNICODE)进行全量的打乱和重新随机编码,然后以此来生成对应该随机编码方案的文本内容和字体。
例如:首先生成三套针对UNICODE中所有十几万字符的随机编码,然后将上述A、B、C三篇文章分别用这三套编码规则重新进行字符集编码,再针对这三套随机编码生成对应的三套包含十几万全量字符的专用字体,然后将其与对应的文章配对发布。
显然,采用这种方式会导致要随机编码的字符数以及其对应专用字体中包含的字符数通常都大大增加了(除非要编码的内容几乎包含了所有文字,比如要编码一本全球大字典)。这通常会导致更多的计算开销和更大的传输流量(字体尺寸变大)。
为了解决该问题,在一个优选的实施例中,文字防盗版系统还可以包括:字符集统计模块,用于统计待发表文字所使用到的字符集,所述字符集中的每个字符独立且不重复。字符集统计模块所生成的字符集统计结果可以随机的方式进行排序。
具体地,字符集统计模块分别统计要每篇发表的文章中,各自使用到的精确字符集。
例如:一本100万字的书A中,使用到了4201个汉字字符,20个标点符号以及47个英文和希腊字母。那么这本书使用的精确字符集即为上述4268个独立(不重复的)字符。
同理,一篇3000字的小说章节B内,可能使用到了598个汉字字符,7个标点符号以及5个英文字母,则其精确字符集即为上述610个独立字符。
又或者在一篇6000字的微信公众号或者博客文章C中,可能使用了900个汉字字符、19个英文字母和6种标点符号,那么其精确字符集即为上述925个独立字符。
优选地,字符统计模块输出的字符集可以乱序(随机)的形式提交给重新编码模块1等后续处理模块。
在一个优选的实施例中,字体生成模块2具体用于:为所述待发表内容生成一套或多套对应的字体文件,所述字体文件包括:所述字符集中的每个字符所对应的至少一个重新编码值、所述字符集中的每个字符所对应的至少一个字符图形、以及至少一个重新编码值和字符图形之间映射关系的映射关系表(cmap索引表)。
可选地,字体生成模块2使用对字符集编码、字符图形以及映射关系表随机排序的形式来生成对应字体。
其中,在所述映射关系表中,每个重新编码值以一对一的形式对应一个字符图形、或每个重新编码值以一对多的形式对应多个字符图形、或多个重新编码值以多对一的形式对应一个字符图形、或多个重新编码值以多对多的形式对应多个字符图形。
每个字符对应的一个或多个重新编码值所分别对应的多个变异的字符图形可以完全相同或存在不显著影响用户阅读体验的细微差别。
在上述重新编码的过程中,除了可以将一个字符唯一映射为一个编码外,还可采用一对多(1:N)以及多对一(N:1)或多对多(N:M)映射来进一步增加静态分析的复杂性。
例如:可以将常用字符空格“ ”随机编码为0x1853、0x9、0x187、0x7459等多个不同的编号,他们在对应的专用字体文件中可都映射为同一个图形描述(N:1);或分别映射到不同图形描述(N:M,例如0x1853、0x9映射到图形描述1,0x187、0x7459则映射到图形描述2,图形1和图形2都是空格)上。也可以将一个随机编码0x1853同时映射到多个图形描述上。而在实际使用时,文章中出现的空格可以被随机和/或规则地替换为上述四个编码中的任意一个。
此外,对同一个字符的不同图形描述可以有不显著影响阅读体验的细微差异来进一步增加OCR的困难度。即对同一个字符的字符图形进行变异处理。
优选地,每个字符对应的多个变异的字符图形存在以下至少一种细微差别:增加或减少预设像素的宽度、左右侧留白、增加或减少线条的长短、曲直或粗细。例如:对上述多个不同空格字符的图形描述,可通过细微(1、2个像素)地增加或减少其宽度来改变其渲染表现。再比如对不同的“我”字,其左右侧留白、以及其横、点、勾、撇等部分的细微变化等等。
恰当利用字符编码与其图形描述的多对多复杂映射,以及相同字符的不同图形表达间的微妙差异,不但可以显著加强文本内容对抗分析的表现,还可以严重干扰OCR等技术手段,即使用户将页面内容截图后OCR也无法正确还原文本内容。
在一个优选的实施例中,文字防盗版系统还可以包括:字符组合模块,用于对待发表内容中的字符序列进行随机和/或规则地拆分和/或组合,得到能够表达所述待发表内容的新的字符序列。
具体地,在进行随机编码时,还可以随机地对待发表内容中的字符序列进行随机和/或规则地组合与拆分,从而创造出新的“字符”。这可进一步增加对文本信息的分析和还原难度。
例如,在图2所示的“ABC 我你他 the world 好时”的例子中,可以将英文字符“A”+“B”的左半部分重新组合成为一个新的组合字符,并随机指定其编码值(编号)为0x753;然后将“B”的右半部分与字母“C”组合为一个新的组合字符并随机指定其编码值(编号)为0x6;类似地,将中文字符“我”和“你”的左半部分(单人旁)组合为一个新字符,并将其随机编码为0x8799;而将“你”的右半部分(“尔”)拆分为一个新字符,并将其随机编码为0x762;将两个英文字母“he”组合为一个新字符,并随机编码为0x998;将空格+“wo”组合为一个新字符,并编码为0x39;将中文字符“好”拆分为“女”和“予”两个新字符,并分别编码为0x697以及0x3975等等。
也就是说,在转换前,组成句子“ABC 我你他 the world 好时”的GB编码可能依次是:
而经过了上述重新组合以及重新编码过程后的新字符序列,及其对应的新编码则为:
显然,上述转换甚至随机地发明出了“A+半个B”、“我+单人旁”这种现实中并不存在的字符。这使得整篇文章只是“看起来是用中文和英文撰写的”一样,而从组成文章的字符分析,实则已经是另一种从未听说过、随机产生的“语言文字”了。更不用说与此同时,我们还对这种新语言文字进行了随机编码处理。这就进一步加大了对该文章原始内容的还原难度。
在一个优选的实施例中,文字防盗版系统还可以包括:间距调整模块,用于对阅读终端的用户界面显示的内容的行间距和/或字间距等参数进行随机和/或规则地调整。
具体地,可以通过随机和/或规则的方式,在不影响阅读体验的前提下对字间距和行间距进行随机的微调。甚至可以依照事先指定的对齐方式(例如:两端对齐),以更利于阅读体验(更美观)的方式来调整每个字符的字间距等属性。
字间距、行间距以及字体尺寸、旋转角度等调整可极大地降低OCR等识别技术的正确率,即使用户将页面内容截图后OCR也无法正确还原文本内容。
在一个优选的实施例中,内容发表模块具体包括:
压缩单元,用于对已重新编码的待发表内容(文本)以及对应的字体文件进行压缩处理;
加密单元,用于对压缩处理后的待发表内容及其对应字体进行加密处理;
打包单元,用于对加密处理后的待发表内容及其对应字体进行打包处理,并生成一套可供使用的发布包。
上述压缩单元所使用的压缩算法可以为Zip、LZMA、LZ4、GZip、Bz2、zlib等等。上述加密单元所使用的加密算法可以为RSA、AES、BlowFish、TwoFish、ThreeFish、Triple-DES、ChaCha、SEAL、Kalyna、SM4、CHAM、Speck、Simon、Salsa、Rabbit等等。
具体地,还可对经过上述变换和处理的随机编码文本和字体进行进一步的压缩和加密打包处理,以在降低流量开销的同时进一步保护文本内容和配套字体,使敌手对其的截获和提取变得更加困难,进一步抬高其盗版成本。
进一步地,还可以使用支持实时压缩和强加密的虚拟文件系统(VFS)等复杂的私有数据结构来将文本内容及其配对字体打包到VFS中,进一步提升其破解和提取难度。
在一个优选的实施例中,文字防盗版系统还可以包括:内容切分模块,用于将待发表文章逐章、逐节、逐段、逐块或随机地进行内容切分,得到多个所述待发表内容。其中,每个切分后的所述待发表内容各自独立。
具体地,对于篇幅较长(例如:以万字、十万字、百万字甚至千万字来计)的文章来说,可以将其逐章、逐节、甚至逐段、逐块又或随机地进行切分。并对每一个切分出来的章、节或、段落或者文本块分别进行上述字符集统计、随机编码、字体生成、多对多映射、字符变异、字符复合与拆分、间距调整、压缩和加密等上述各个步骤。
例如,对于一部平均每节3000字,总长600万字(2000节)的长篇小说而言,可以将其中的每节作为一篇单独的文章来分别生成各自的随机编码和配套专用字体。并对其分别进行映射、变异、符合、拆分、间距调整、压缩加密、VFS打包等操作。即:将每个小节各自作为一篇完全独立的文章单独发布。
该方案的优点在于:
1.显著提升了破解和盗版的成本:将上述600万字的小说作为一个整体处理时,整本小说共享同一套随机编码和专用字体、使用同一套多对多映射、字符变异、字符复合与拆分规则、使用同一个加密密钥。即:600万字共享同一套变换和加密规则。此时敌手只要破解这一套变换和加密规则即可得到600万字的明文文本。
而分节处理则不然:2000个小节每节都有自己的随机编码和配套专用字体、每个小节都使用不同的多对多映射、字符变异、字符复合与拆分规则、并各自使用不同的加密密钥和加密算法。此时敌手需要重复上述分析破解步骤2000遍才能得到600万字的明文文本,平均每一遍破解过程获得的收益降低到了前者的0.05%(两千分之一)。
2.更符合用户的阅读习惯:用户在阅读时通常以章节为单位进行。逐章节处理和打包更符合用户的阅读习惯,使得用户每次可以下载较少的数据(通常内容+字体在100KB以内)以及解码较少的内容,利于降低流量开销并加速UI渲染,从而优化用户体验。
3.更符合作者的写作习惯:现代网络作家大多采用“边写边发”模式,不再采用传统的“写完整本书再一起发表”的纸板出版模式。显然,分节处理更适应这种新的创作模式(处理较早章节时还无法精确统计所有未来章节将会使用哪些字符集)。
综上,逐节逐段切分处理在显著增加了盗版成本的同时,也提升了用户的阅读体验,并且此举亦更符合网络作者“边写边发”的创作模式。
在一个优选的实施例中,文字防盗版系统还可以包括:多重限制模块,用于对每个阅读终端的访问请求通过包括鉴权和授权的方式进行访问控制、限制和警告。
具体地,对每一个客户端请求在IP地址、用户ID、会话(Session)ID等层面上进行多重限制,防止用户通过脚本等自动化手段快速大量爬取版权内容。限制用户获得版权数据的速率,同时记录短时间内大量请求等异常行为,将其上报给上层系统或对应工作人员进行进一步分析处理。
需要指出的是,上述所有随机、乱序的方式均可以使用任意其它非随机、有序的规则来替代。
综上所述,本发明提供的文字防盗版系统,可通过随机字符集编码和配套字体生成;多对多映射和字符变异;字符复合与拆分;字间距、行间距随机调整;压缩、加密和打包;逐节逐段切分;以及鉴权、授权以及访问控制等一系列技术手段,最终在不影响用户阅读体验以及不显著增加流量开销的前提下,极大地提升了文字内容的盗版难度和成本,实现了很好的防盗版特性。
实施例二
基于相同的发明构思,本实施例提供了一种基于字符重新编码的文字防盗版方法,一个较全面地利用了本发明各项技术特征的防盗版内容发布和展现典型流程示例如下:
步骤一:由内容切分模块将待发表文章(文本,字符串)逐章、逐节、逐段、逐块或随机地进行内容切分,得到至少一个待发表内容。其中,每个切分后的所述待发表内容各自独立。
步骤二:由字符组合模块对步骤一生成的每个待发表内容逐一进行处理,将每个待发表内容中的字符序列进行随机和/或规则地拆分和/或组合,得到至少一份能够表达所述待发表内容的,新的字符序列。
步骤三:由字符集统计模块对步骤二生成的,以新字符序列编码的待发表内容进行字符集统计,并以随机和/或有序的形式生成至少一份字符集。
步骤四:由重新编码模块将步骤二和步骤三生成的每个待发表的内容的新字符序列表达以及其字符集逐一进行随机和/或规则地重新编码,生成至少一份重新编码后的内容。
步骤五:由字体生成模块对步骤四生成的,重新编码后的待发表内容进行字体生成。字体生成模块为所述待发表内容生成对应的字体文件,所述字体文件包括:所述字符集中的每个字符所对应的至少一个重新编码值、所述字符集中的每个字符所对应的至少一个字符图形、以及至少一个记录字符编码和字符图形之间映射关系的映射关系表。
在所述映射关系表中,每个字符编码可以一对一的形式对应一个字符图形、或每个字符编码可以一对多的形式对应多个字符图形、或多个字符编码可以多对一的形式对应一个字符图形、或多个字符编码可以多对多的形式对应多个字符图形。其中,每个字符对应的一个或多个编码值所分别对应的多个变异的字符图形可以完全相同或存在不显著影响用户阅读体验的细微差别。
步骤六:由间距调整模块结合前面几个步骤的执行结果,逐个对生成的字体和内容进行间距和/或字间距进行随机和/或规则调整,并生成至少一份用于辅助和指示间距渲染的配置或脚本。
步骤七:由内容发表模块将上述步骤四至六等步骤产生的已编码待发表内容、与之对应的生成字体、以及间距渲染配置等相关数据关联发布,或进行压缩、加密、打包等操作后发布。
步骤八:由内容展现模块,在阅读终端的用户界面中将上述步骤七所发布内容进行渲染;并在渲染所述已发表内容时,对其字间距、行间距、倾斜角度、颜色和背景等参数进行随机和/或规则调整。
综上所述,本发明提供的文字防盗版方法,可通过随机字符集编码和配套字体生成;多对多映射和字符变异;字符复合与拆分;字间距、行间距随机调整;压缩、加密和打包;逐节逐段切分;以及鉴权、授权以及访问控制等一系列技术手段,最终在不影响用户阅读体验以及不显著增加流量开销的前提下,极大地提升了文字内容的盗版难度和成本,实现了很好的防盗版特性。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围,其均应涵盖在本发明的权利要求和说明书的范围当中。
Claims (10)
1.一种基于字符重新编码的文字防盗版系统,其特征在于,包括:
重新编码模块,用于对待发表内容所使用到的字符集中的每个字符进行重新编码,不同字符对应的重新编码值不同;
字体生成模块,用于基于所述字符集对应的重新编码值为所述待发表内容生成对应的字体文件。
2.根据权利要求1所述的文字防盗版系统,其特征在于,
所述字体生成模块具体用于:为所述待发表内容生成对应的字体文件,所述字体文件包括:所述字符集中的每个字符所对应的至少一个重新编码值、所述字符集中的每个字符所对应的至少一个字符图形、以及至少一个重新编码值和字符图形之间映射关系的映射关系表;
其中,在所述映射关系表中,每个重新编码值以一对一的形式对应一个字符图形、或每个重新编码值以一对多的形式对应多个字符图形、或多个重新编码值以多对一的形式对应一个字符图形、或多个重新编码值以多对多的形式对应多个字符图形;
每个字符对应的一个或多个重新编码值所分别对应的多个变异的字符图形完全相同或存在不显著影响用户阅读体验的细微差别。
3.根据权利要求1所述的文字防盗版系统,其特征在于,还包括:
字符集统计模块,用于统计待发表文字所使用到的字符集,所述字符集中的每个字符独立且不重复。
4.根据权利要求1至3中任一项所述的文字防盗版系统,其特征在于,
所述重新编码模块具体用于:通过随机编码的方式为所述字符集中的每个字符进行重新编码,每个字符对应至少一个重新编码值;
所述字体文件中包含随机排序的重新编码值、随机排序的字符图形以及随机排序的映射关系表;
所述字体生成模块具体用于:对重新编码值、字符图形以及映射关系表以随机排序的形式来生成对应字体文件;
所述字符集统计模块所生成的字符集统计结果以随机的方式进行排序。
5.根据权利要求1至3中任一项所述的文字防盗版系统,其特征在于,还包括:
内容发表模块,用于将所述待发表内容和以所述待发表内容执行所述重新编码模块和字体生成模块所得到的对应字体文件进行关联发布。
6.根据权利要求1至3中任一项所述的文字防盗版系统,其特征在于,还包括:
字符组合模块,用于对待发表内容中的字符序列进行随机和/或规则地拆分和/或组合,得到处理后的字符序列。
7.根据权利要求1至3中任一项所述的文字防盗版系统,其特征在于,还包括:
间距调整模块,用于对阅读终端的用户界面所显示内容的行间距和/或字间距进行随机和/或规则地调整。
8.根据权利要求5所述的文字防盗版系统,其特征在于,所述内容发表模块包括:
压缩单元,用于对已重新编码的待发表内容以及对应的字体文件进行压缩处理;
加密单元,用于对压缩处理后的待发表内容及其对应字体进行加密处理;
打包单元,用于对加密处理后的待发表内容及其对应字体进行打包处理,并生成一套可供使用的发布包。
9.据权利要求1至3中任一项所述的文字防盗版系统,其特征在于,还包括:
内容切分模块,用于将待发表文章逐章、逐节、逐段、逐块或随机地进行内容切分,得到多个所述待发表内容;
其中,每个切分后的所述待发表内容各自独立。
10.权利要求1至3中任一项所述的文字防盗版系统,其特征在于,还包括:
内容展现模块,用于在阅读终端的用户界面中使用配对的字体将所述待发表内容进行渲染,并在渲染所述已发表内容时,对其字间距、行间距、倾斜角度、颜色和背景等参数进行随机和/或规则地调整。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910996905.1A CN110704813A (zh) | 2019-10-19 | 2019-10-19 | 一种基于字符重新编码的文字防盗版系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910996905.1A CN110704813A (zh) | 2019-10-19 | 2019-10-19 | 一种基于字符重新编码的文字防盗版系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110704813A true CN110704813A (zh) | 2020-01-17 |
Family
ID=69201800
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910996905.1A Pending CN110704813A (zh) | 2019-10-19 | 2019-10-19 | 一种基于字符重新编码的文字防盗版系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110704813A (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112801081A (zh) * | 2021-01-18 | 2021-05-14 | 王玉宏 | 一种答题卡的计算机识别方法 |
CN113111991A (zh) * | 2021-04-21 | 2021-07-13 | 深圳市合力思科技有限公司 | 一种防伪码生成方法和系统及套装唯一码生成方法 |
CN114297695A (zh) * | 2021-12-30 | 2022-04-08 | 北京奇艺世纪科技有限公司 | 文本加密方法、文本解密方法及装置 |
CN114757145A (zh) * | 2022-03-21 | 2022-07-15 | 慧之安信息技术股份有限公司 | 一种判断消息字符集编码的方法 |
CN114297695B (zh) * | 2021-12-30 | 2024-05-31 | 北京奇艺世纪科技有限公司 | 文本加密方法、文本解密方法及装置 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5050121A (en) * | 1990-01-22 | 1991-09-17 | Vaughan H W | Communication system which uses characters that represent binary-coded decimal numbers |
CN1279537A (zh) * | 1999-07-02 | 2001-01-10 | 英业达集团(西安)电子技术有限公司 | 一种适用于宽字符集文档的压缩方法 |
CN1812321A (zh) * | 2006-02-28 | 2006-08-02 | 电子科技大学 | 字符的图形与编码相互独立的隐藏通信方法 |
CN106021204A (zh) * | 2016-06-12 | 2016-10-12 | 朱信 | 多重复字字库的制作与使用 |
CN107239713A (zh) * | 2017-05-17 | 2017-10-10 | 李晓妮 | 一种敏感内容数据信息防护方法和系统 |
CN108090329A (zh) * | 2018-01-17 | 2018-05-29 | 上海海笛数字出版科技有限公司 | 一种对文本内容进行数字水印加密保护的方法及装置 |
-
2019
- 2019-10-19 CN CN201910996905.1A patent/CN110704813A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5050121A (en) * | 1990-01-22 | 1991-09-17 | Vaughan H W | Communication system which uses characters that represent binary-coded decimal numbers |
CN1279537A (zh) * | 1999-07-02 | 2001-01-10 | 英业达集团(西安)电子技术有限公司 | 一种适用于宽字符集文档的压缩方法 |
CN1812321A (zh) * | 2006-02-28 | 2006-08-02 | 电子科技大学 | 字符的图形与编码相互独立的隐藏通信方法 |
CN106021204A (zh) * | 2016-06-12 | 2016-10-12 | 朱信 | 多重复字字库的制作与使用 |
CN107239713A (zh) * | 2017-05-17 | 2017-10-10 | 李晓妮 | 一种敏感内容数据信息防护方法和系统 |
CN108090329A (zh) * | 2018-01-17 | 2018-05-29 | 上海海笛数字出版科技有限公司 | 一种对文本内容进行数字水印加密保护的方法及装置 |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112801081A (zh) * | 2021-01-18 | 2021-05-14 | 王玉宏 | 一种答题卡的计算机识别方法 |
CN113111991A (zh) * | 2021-04-21 | 2021-07-13 | 深圳市合力思科技有限公司 | 一种防伪码生成方法和系统及套装唯一码生成方法 |
CN114297695A (zh) * | 2021-12-30 | 2022-04-08 | 北京奇艺世纪科技有限公司 | 文本加密方法、文本解密方法及装置 |
CN114297695B (zh) * | 2021-12-30 | 2024-05-31 | 北京奇艺世纪科技有限公司 | 文本加密方法、文本解密方法及装置 |
CN114757145A (zh) * | 2022-03-21 | 2022-07-15 | 慧之安信息技术股份有限公司 | 一种判断消息字符集编码的方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10482222B2 (en) | Methods, apparatus, and articles of manufacture to encode auxiliary data into text data and methods, apparatus, and articles of manufacture to obtain encoded data from text data | |
US9129421B2 (en) | System and method for displaying complex scripts with a cloud computing architecture | |
Mohamed | An improved algorithm for information hiding based on features of Arabic text: A Unicode approach | |
CN110704813A (zh) | 一种基于字符重新编码的文字防盗版系统 | |
Al-Nofaie et al. | Utilizing pseudo-spaces to improve Arabic text steganography for multimedia data communications | |
US9420143B2 (en) | Method for water-marking digital books | |
JP5735539B2 (ja) | ネットワークを介して送信されるデータの暗号化および復号化システム、装置、および方法 | |
US10521144B2 (en) | Data block storage by splitting file content and file headers for independent storage | |
Taleby Ahvanooey et al. | An innovative technique for web text watermarking (AITW) | |
Khairullah | A novel text steganography system using font color of the invisible characters in microsoft word documents | |
Gutub et al. | Utilizing diacritic marks for Arabic text steganography | |
CN103543980A (zh) | 数字数据处理的方法及装置 | |
Singh et al. | A survey on text based steganography | |
CN108418683A (zh) | 一种基于汉字结构特征的无载体文本隐写方法 | |
Abbasi et al. | Urdu text steganography: Utilizing isolated letters | |
WO2024066271A1 (zh) | 数据库水印的嵌入方法、溯源方法、装置和电子设备 | |
Chou et al. | A Webpage Data Hiding Method by Using Tag and CSS Attribute Setting | |
Chao et al. | Information hiding in text using typesetting tools with stego-encoding | |
CN109800547A (zh) | 一种用于word文档保护和分发跟踪的信息快速嵌入和提取的方法 | |
US11132497B2 (en) | Device and method for inputting characters | |
Saber et al. | Steganography in MS excel document using unicode system characteristics | |
RU2741067C1 (ru) | Система и способ обеспечения стеганографического кодирования текста | |
Chaudhary et al. | A capital shape alphabet encoding (CASE) based text steganography | |
CN112818378B (zh) | 一种基于“火星文”生成的文本隐写方法 | |
CN1275189C (zh) | 输出设备加密和识别的方法及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |