一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

文本加密方法、文本解密方法及装置与流程

2022-04-09 11:02:17 来源:中国专利 TAG:


1.本发明涉及互联网技术领域,特别是涉及一种文本加密方法、文本解密方法及装置。


背景技术:

2.随着信息技术的发展,网络成为大量信息的载体,其中,通过web(world wide web,万维网)端的网页提供书籍、新闻、问答等信息的阅读服务,相比于原生app(application,应用程序)具有灵活、高效、迭代方便等优势,可以应用于跨平台、跨操作系统版本的工作环境中。
3.web端常采用dom(document object model,文档对象模型)结构定义访问、操作html(hyper text markup language,超文本标记语言)文档的标准方法,以树结构表达html文档,而html文档可以通过命令组成的描述性文本说明文字、图片等信息。因此,通过爬虫对web端的dom进行爬取即可获得网页中的文字、图片等信息,使得网络信息安全存在重大隐患,尤其是通过网页提供各种阅读服务时,无法对书籍、新闻、内容等信息进行有效保护。
4.目前,通常是采用一套自定义的字体文件,将目标文本中的部分固定文字采用该字体文件进行加密,并在展示文本时加载该字体文件以对文本进行明文展示,此时,对dom进行爬取仅能获得加密后的文本。但是,由于web端静态资源天然暴露的特性,使得该字体文件易被获取。在此基础上,可以通过模拟加载该字体文件以对加密后的文本明文展示,从而导致信息泄露。因此,目前采用的网页中文本保护方法对文本的保护效果有限,安全性较低,仍存在一定安全隐患。


技术实现要素:

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.在本发明实施的第四方面,提供了一种文本解密装置,该装置应用于客户端,所述装置包括:
47.文本接收模块,用于接收服务端发送的加密文本与字体信息,所述加密文本通过所述服务端对目标文本采用目标字体文件进行编码获得第一编码文本,并对所述第一编码文本进行加密得到,所述目标字体文件从至少两套字体文件中随机确定得到,不同所述字体文件中相同文字对应的第一编码不同;
48.文本解密模块,用于基于所述加密文本的加密对所述加密文本进行解密,获得第一编码文本;
49.文本显示模块,用于在所述字体信息与所述第一编码文本对应的情况下,根据所述字体信息加载对应的字体文件,并渲染所述第一编码文本,以在页面上显示所述目标文本。
50.可选地,所述文本解密模块,包括:
51.解密子模块,用于基于所述加密文本的加密对所述加密文本进行解密,获得第二编码文本,所述第二编码文本根据第二文字与第二编码的对应关系对所述第一编码文本中的所述第二文字替换得到,所述第二文字为所述目标文本中所述第一文字以外的所述文
字,所述第一文字为所述目标文本中与所述目标字体文件对应的所述文字;
52.编码子模块,用于根据所述第二文字与所述第二编码的关系,将所述第二编码文本中的所述第二编码替换为所述第二文字,获得所述第一编码文本。
53.可选地,所述解密子模块,包括:
54.偏移量确定单元,用于基于所述字体信息对应的所述字体文件,获取所述字体文件对应的偏移量,不同所述字体文件对应的所述偏移量不同;
55.文本解密单元,用于根据所述偏移量对所述加密文本采用高级加密标准进行解密,获得所述第一编码文本。
56.可选地,所述文本显示模块,还用于在所述替换字体文件与所述第一编码文本不对应的情况下,在所述页面上显示默认字符。
57.在本发明实施的第五方面,还提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述第一方面所述的文本加密方法,或第二方面所述的文本解密方法。
58.在本发明实施的第六方面,还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述第一方面所述的文本加密方法,或第二方面所述的文本解密方法。
59.在本发明实施中,服务端在获取目标文本后,可以在至少两套字体文件中随机确定目标字体文件,其中,不同字体文件中相同文字对应的第一编码不同,此时,可以根据目标字体文件将目标文本中的第一文字替换为第一编码获得第一编码文本,第一文字为目标文本中与目标字体文件对应的文字,再对第一编码文本进行加密获得加密文本;根据目标字体文件确定第一编码文本对应的字体信息,再将字体信息与加密文本向客户端发送。在本发明实施中,在多套字体文件中随机采用目标字体文件对目标文本进行编码,使得目标文本中被编码的文字,以及文字对应的第一编码随机性高,破解难度大,提升了编码的安全性;进一步地,还对第一编码文本进行二次加密获得加密文本,即使获得目标字体文件也需要对加密文本解密后才能加载解码目标文本的内容,进一步提升了目标文本的安全性。
附图说明
60.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍。
61.图1是本发明实施例提供的一种服务端-客户端架构示意图;
62.图2是本发明实施例提供的一种文本加密方法的步骤流程图;
63.图3是本发明实施例提供的另一种文本加密方法的步骤流程图;
64.图4是本发明实施例提供的一种字体文件的示意图;
65.图5是本发明实施例提供的又一种文本加密方法的步骤流程图;
66.图6是本发明实施例提供的一种高级加密标准的加密流程示意图;
67.图7是本发明实施例提供的一种文本解密方法的步骤流程图;
68.图8是本发明实施例提供的一种高级加密标注的解密流程示意图;
69.图9是本发明实施例提供的一种dom的结构示意图;
70.图10是本发明实施例提供的一种页面示意图;
71.图11是本发明实施例提供的一种shadow dom的结构示意图;
72.图12是本发明实施例提供的一种自定义标签渲染页面的页面示意图;
73.图13是本发明实施例提供的一种自定义标签渲染页面的dom结构示意图;
74.图14是本发明实施例提供的一种文本加密装置的结构框图;
75.图15是本发明实施例提供的一种文本解密装置的结构框图;
76.图16是本发明实施例提供的一种电子设备的结构示意图。
具体实施方式
77.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行描述。
78.参照图1,示出了本发明实施例提供的一种服务端-客户端架构示意图,如图1所示,在本发明实施中,可以基于服务端-客户端架构实现,其中,服务端可以对目标文本编码、加密并向客户端发送,客户端基于约定的规则,或服务端指定的规则进行解密、解码并将目标文本渲染在页面上展示,具体如下所示:
79.参照图2,示出了本发明实施例提供的一种文本加密方法的步骤流程图,该方法可以应用于服务端,如图2所示,该方法可以包括:
80.步骤101、获取目标文本。
81.本发明实施例中,服务端可以由支持数据存储、数据分析、数据加密等功能的服务器实现,如可以是web(网站)服务器、应用服务器等;目标文本可以由服务端根据客户端的请求从服务端预先存储的文本中获得,也可以是从网络中连接的其他数据库中获得,目标文本中包括至少一个文字。
82.步骤102、在至少两套字体文件中随机确定目标字体文件,不同所述字体文件中相同文字对应的第一编码不同。
83.本发明实施例中,字体文件为定义文字与编码对应关系的文件,在同一字体文件中每一文字唯一对应一个第一编码,在此基础上,不同字体文件中相同文字对应的第一编码不同,而不同字体文件中不同文字对应的第一编码可以相同也可以不同,如在字体文件a中文字“你”对应第一编码“#”,文字“我”对应第一编码“¥”,则在字体文件b中文字“你”可以对应除“#”以外的其他任意第一编码,如在字体文件b中文字“你”可以对应第一编码“¥”,也可以对应第一编码“%”等,文字“我”可依次类推。进一步的,字体文件中文字的内容也不作限制,可以包括不同应用场景对应的高频字、通用场景的常用字等,不同字体文件中文字的内容可以相同也可以不同,而在不同字体文件中内容相同的文字对应不同的第一编码。
84.本发明实施例中,在获取目标文本后,可以在至少两套字体文件中随机确定目标字体文件,其中,目标字体文件定义了目标文本中至少部分文字对应的第一编码,在此基础上,相同的目标文本在不同的获取批次,或向不同客户端发送时对应的目标字体文件可能相同也可能不同,而不同字体文件的文字内容、文字与第一编码的对应关系等可能不同。
85.步骤103、根据所述目标字体文件中所述文字与所述第一编码的对应关系,将所述目标文本中的第一文字替换为所述第一编码获得第一编码文本,所述第一文字为所述目标文本中与所述目标字体文件对应的所述文字。
86.本发明实施例中,目标字体文件中定义了文字与第一编码的对应关系,在此基础
上,可以将目标文本中的第一文字替换为对应的第一编码,获得替换后的第一编码,第一文字为目标文本中与目标字体文件对应的文字,在目标文本中第一文字被目标字体文件定义了与第一编码的对应关系。
87.步骤104、对所述第一编码文本进行加密获得加密文本。
88.本发明实施例中,还可以对第一编码文本进行加密,以避免目标字体文件泄露可能对目标文本造成的安全隐患,通过对第一编码文本二次加密获得加密文本,可以避免在本地加载泄露的目标字体文件的安全隐患,进一步提升目标文本的安全性。可选地,对第一编码文本进行二次加密的加密算法可以是对称算法、非对称算法、哈希算法等,本发明实施例对此不作具体限制。
89.步骤105、根据所述目标字体文件确定所述第一编码文本对应的字体信息。
90.本发明实施例中,字体信息可以是字体标识、替换字体文件等,其中,字体标识可以用于唯一标示不同字体文件,此时,将目标字体文件对应的字体标识作为目标文本对应的字体信息,使得客户端能够从已存储的字体文件中根据字体信息加载对应的目标字体文件;或者,为了减小客户端的存储压力,便于客户端解析第一编码文本以展示目标文本,可以根据第一编码与第一文字的对应关系确定替换字体文件,替换字体文件中文字与第一编码的对应关系与目标字体文件中文字与第一编码的对应关系相同,但替换字体文件中的文字仅包括第一文字,由于目标文字文件通常容量较大,存储、传输、解析压力大,而且在目标字体文件泄露时可能会使得其他所有采用该目标字体文件的目标文本产生安全隐患,因此,可以获得仅包括第一文字以及对应第一编码的替换字体文件,在减少存储、传输、解析压力的同时,也避免了对其他目标文本的影响。
91.步骤106、将所述加密文本与所述字体信息向客户端发送。
92.本发明实施例中,在客户端、服务端的架构中,服务端可以将获得的加密文本、字体信息向客户端发送,以供客户端解密、解码并在页面渲染展示,其中,加密文本与字体信息可以同批次发送、也可以分批次发送,可以同步发送,也可以异步发送,本发明实施例对数据传输的方式不作具体限制。
93.在本发明实施中,服务端在获取目标文本后,可以在至少两套字体文件中随机确定目标字体文件,其中,不同字体文件中相同文字对应的第一编码不同,此时,可以根据目标字体文件将目标文本中的第一文字替换为第一编码获得第一编码文本,第一文字为目标文本中与目标字体文件对应的文字,再对第一编码文本进行加密获得加密文本;根据目标字体文件确定第一编码文本对应的字体信息,再将字体信息与加密文本向客户端发送。在本发明实施中,在多套字体文件中随机采用目标字体文件对目标文本进行编码,使得目标文本中被编码的文字,以及文字对应的第一编码随机性高,破解难度大,提升了编码的安全性;进一步地,还对第一编码文本进行二次加密获得加密文本,即使获得目标字体文件也需要对加密文本解密后才能加载解码目标文本的内容,进一步提升了目标文本的安全性。
94.图3是本发明实施例提供的另一种文本加密方法的步骤流程图,该方法可以应用于服务端,如图3所示,该方法可以包括:
95.步骤201、获取目标文本。
96.本发明实施例中,步骤201可对应参照前述步骤101的相关描述,为避免重复,在此不再赘述。
97.如,可以获取聊天页面请求的目标文本“你好,我叫小七”。
98.步骤202、在至少两套字体文件中随机确定目标字体文件,不同所述字体文件中相同文字对应的第一编码不同。
99.本发明实施例中,步骤202可对应参照前述步骤102的相关描述,为避免重复,在此不再赘述。
100.本发明实施例中,字体文件可以根据业务、场景、应用等需求预先或现场生成,如可以根据需求在常用字库、新闻字库、人名字库、地理字库等中随机选取一定比例、数量的文字,如可以随机选取字库中30%-40%的文字,也可以是100-200个文字等;再获取第一编码,其中,第一编码的数量应大于或等于文字的数量。根据文字与第一编码可以循环生成多套字体文件,在每一循环中为每一文字映射不同的第一编码生成字体文件,在不同循环中同一文字映射的第一编码不同,可选地,可以在字体文件的数量达到需求数量时停止循环,也可以在字体文件实现了文字与第一编码之间全部对应关系的情况下停止循环。
101.可选地,所述字体文件还包括默认字符,所述默认字符用于在所述字体文件加载失败时显示。
102.本发明实施例中,字体文件还可以包括默认字符,默认字符用于在字体文件加载失败,被替换的第一文字无法被还原的情况下显示,以表示对应文字的解码失败,默认字符可以是符号、标点等,如
“□”

“×”

“○”
等,本发明实施例对默认字符的样式不作具体限制。
103.图4是本发明实施例提供的一种字体文件的示意图,如图4所示,字体文件中包括“么”、“九”、“事”、“二、“五”、“些”······
,而每一文字下方即为该文字对应的第一编码,如文字“么”对应第一编码“$eb01”,文字“九”对应第一编码“$eb02”,文字“事”对应第一编码“$eb03”,文字“二”对应第一编码“$eb04”,文字“五”对应第一编码“$eb05”,文字“些”对应第一编码“$eb06”······
;字体文件中还包括默认字符等。
104.步骤203、根据所述目标字体文件中所述文字与所述第一编码的对应关系,将所述目标文本中的第一文字替换为所述第一编码获得第一编码文本,所述第一文字为所述目标文本中与所述目标字体文件对应的所述文字。
105.本发明实施例中,步骤203可对应参照前述步骤103的相关描述,为避免重复,在此不再赘述。
106.如,目标字体文件中定义文字“你”对应第一编码“$ea0d”,文字“好”对应第一编码“$ea2f”,文字“七”对应第一编码“$e001”,则目标文本中第一文字为“你”“好”“七”,将目标文本中的第一文字替换为对应的第一编码,获得第一编码文本“$ea0d$ea2f,我叫小$e001”。
107.步骤204、根据第二文字与第二编码之间的对应关系,将所述第一编码文本中的所述第二文字替换为第二编码获得第二编码文本,所述第二文字为所述目标文本中所述第一文字以外的所述文字。
108.本发明实施例中,第一文字可能是目标文本中包含的全部文字,也可以是目标文本包含的部分文字,在第一文字是目标文本包含的部分文字的情况下,第二文字为目标文本中除第一文字外的其他文字,第二编码可以是自定义编码也可以是通用编码,第二文字与第二编码之间具有对应关系,不同第二编码文本中第二文字对应的第二编码可以相同也
可以不同,如第二编码可以是unicode(统一码),unicode为每种语言中的文字设定了统一且唯一的编码,
109.如,目标文本中除第一文字外的其他文字“我”“叫”“小”为第二文字,根据unicode中定义的文字与第二编码的对应关系,第二文字“我”对应第二编码“\u6211”,第二文字“叫”对应第二编码“\u53eb”,第二文字“小”对应第二编码“\u5c0f”,从而获得第二编码文本“$ea0d$ea2f,\u6211\u53eb\u5c0f$e001”。
110.步骤205、对所述第二编码文本进行加密,获得所述加密文本。
111.本发明实施例中,步骤205可对应参照前述步骤104的相关描述,为避免重复,在此不再赘述。
112.步骤206、根据所述目标字体文件确定所述第一编码文本对应的字体信息。
113.本发明实施例中,步骤206可对应参照前述步骤105的相关描述,为避免重复,在此不再赘述。
114.步骤207、将所述加密文本与所述字体信息向客户端发送。
115.本发明实施例中,步骤207可对应参照前述步骤106的相关描述,为避免重复,在此不再赘述。
116.在本发明实施中,服务端在获取目标文本后,可以在至少两套字体文件中随机确定目标字体文件,其中,不同字体文件中相同文字对应的第一编码不同,此时,可以根据目标字体文件将目标文本中的第一文字替换为第一编码获得第一编码文本,第一文字为目标文本中与目标字体文件对应的文字,再对第一编码文本进行加密获得加密文本;根据目标字体文件确定第一编码文本对应的字体信息,再将字体信息与加密文本向客户端发送。在本发明实施中,在多套字体文件中随机采用目标字体文件对目标文本进行编码,使得目标文本中被编码的文字,以及文字对应的第一编码随机性高,破解难度大,提升了编码的安全性;进一步地,还对第一编码文本进行二次加密获得加密文本,即使获得目标字体文件也需要对加密文本解密后才能加载解码目标文本的内容,进一步提升了目标文本的安全性。
117.图5是本发明实施例提供的又一种文本加密方法的步骤流程图,该方法可以应用于服务端,如图5所示,该方法可以包括:
118.步骤301、获取目标文本。
119.本发明实施例中,步骤301可对应参照前述步骤101的相关描述,,为避免重复,在此不再赘述。
120.步骤302、在至少两套字体文件中随机确定目标字体文件,不同所述字体文件中相同文字对应的第一编码不同。
121.本发明实施例中,步骤302可对应参照前述步骤102、步骤202的相关描述,为避免重复,在此不再赘述。
122.步骤303、根据所述目标字体文件中所述文字与所述第一编码的对应关系,将所述目标文本中的第一文字替换为所述第一编码获得第一编码文本,所述第一文字为所述目标文本中与所述目标字体文件对应的所述文字。
123.本发明实施例中,步骤303可对应参照前述步骤103的相关描述,为避免重复,在此不再赘述。
124.步骤304、获取所述目标字体文件对应的偏移量,不同所述目标字体文件对应的所
述偏移量不同。
125.本发明实施例中,可以采用aes(advanced encryption standard,高级加密标准)进行加密,aes算法是一种对称加密算法,密钥长度可以是16字节、24字节、32字节等,aes算法的加密中通常需要密钥、偏移量(iv,初始化向量)以及密码模式,如密码模式可以包括加密模式、填充模式等,加密模式可以包括电码本模式、密码分组链接模式、计算器模式、密码反馈模式、输出反馈模式等,填充模式可以包括zeropadding、pkcs7padding、iso10126padding等,aes算法的加密过程主要包括多轮循环的轮密钥加、字节代换、行移位、列混淆等步骤。
126.本发明实施例中,可以采用偏移量增加aes加密的复杂程度,在加密过程中采用偏移量使得即使对相同明文采用相同密钥加密多次,每次加密也能够获得不同密文,从而增加数据的安全性,可选地,不同字体文件可以对应不同的偏移量,从而在随机确定目标字体文件时保证了目标字体文件对应偏移量的随机性,有效提高数据传输的安全性。
127.步骤305、基于所述偏移量对所述第一编码文本采用高级加密标准进行加密,获得所述加密文本。
128.本发明实施例中,基于aes算法可以采用密码分组链接(cbc,cipher-block chaining)模式的加密模式,以及pkcs7padding的填充模式,在加密过程中采用偏移量对第一编码文本进行加密。图6是本发明实施例提供的一种高级加密标准的加密流程示意图,如图6所示,对第一编码文本进行分组获得明文1、明文2、明文3,将明文1与偏移量进行异或运算(xor,exclusive or)后采用密钥进行加密获得密文1;将密文1与明文2进行异或运算后采用密钥进行加密获得密文2;将密文2与明文3进行异或运算后采用密钥进行加密获得密文3,获得包括密文1、密文2、密文3的加密文本。
129.可选地,可以根据密钥长度对第一编码文本进行分组,获得长度与密钥相同的明文1、明文2、明文3,在明文3的长度小于密钥长度时采用pkcs7padding的填充模式对明文3进行填充,如明文3与密钥相差n个字节,则在明文3中补充n个字节“n”进行填充。
130.如,对第一编码文本“$ea0d$ea2f,我叫小$e001”采用16进制aes算法进行加密,获得加密文本为“${fx1oh1g0csfnc6hj/ yzcw==},我叫小${9ayciy5zuqklx wizbj82a==}”。
131.可选地,还可以将第一编码文本中的第二文字替换为第二编码,获得第二编码文本“$ea0d$ea2f,\u6211\u53eb\u5c0f$e001”,再采用16进制aes算法对第二编码文本进行加密,获得加密文本为“rpylzofebb7yo5iyhoheqetks1zj4z 02rhbf9fyouu=”。
132.步骤306、根据所述目标字体文件确定所述第一编码文本对应的字体信息。
133.本发明实施例中,步骤306可对应参照前述步骤105的相关描述,为避免重复,在此不再赘述。
134.步骤307、将所述加密文本与所述字体信息向客户端发送。
135.本发明实施例中,步骤307可对应参照前述步骤106的相关描述,为避免重复,在此不再赘述。
136.在本发明实施中,服务端在获取目标文本后,可以在至少两套字体文件中随机确定目标字体文件,其中,不同字体文件中相同文字对应的第一编码不同,此时,可以根据目标字体文件将目标文本中的第一文字替换为第一编码获得第一编码文本,第一文字为目标
文本中与目标字体文件对应的文字,再对第一编码文本进行加密获得加密文本;根据目标字体文件确定第一编码文本对应的字体信息,再将字体信息与加密文本向客户端发送。在本发明实施中,在多套字体文件中随机采用目标字体文件对目标文本进行编码,使得目标文本中被编码的文字,以及文字对应的第一编码随机性高,破解难度大,提升了编码的安全性;进一步地,还对第一编码文本进行二次加密获得加密文本,即使获得目标字体文件也需要对加密文本解密后才能加载解码目标文本的内容,进一步提升了目标文本的安全性。
137.图7是本发明实施例提供的一种文本解密方法的步骤流程图,可以应用于客户端,如图7所示,该方法可以包括:
138.步骤401、接收服务端发送的加密文本与字体信息,所述加密文本通过所述服务端对目标文本采用目标字体文件进行编码获得第一编码文本,并对所述第一编码文本进行加密得到,所述目标字体文件从至少两套字体文件中随机确定得到,不同所述字体文件中相同文字对应的第一编码不同。
139.本发明实施例中,客户端可以是搭载有浏览器的电子设备,客户端可以接收服务端发送的加密文本与字体信息,其中,加密文本通过服务端对目标文本采用目标字体文件进行编码获得第一编码文本,并对第一编码文本进行加密得到,目标字体文件从至少两套字体文件中随机确定得到,不同字体文件中相同文字对应的第一编码不同,具体可参照前述图2、图3、图5的相关描述,为避免重复,在此不再赘述。
140.步骤402、基于所述加密文本的加密对所述加密文本进行解密,获得第一编码文本。
141.本发明实施例中,客户端的解密可以根据服务端对加密文本的加密实现,服务端采用不同加密算法对第一编码文本进行加密时,客户端可以采用对应的解密算法进行解密,可选地,客户端可以根据服务端在传输加密文本时指定的解密算法对加密文本进行解密,也可以根据预先约定的解密算法进行解密,本发明实施例对此不作具体限制。
142.可选地,所述步骤402,包括:
143.步骤s11、基于所述加密文本的加密对所述加密文本进行解密,获得第二编码文本,所述第二编码文本根据第二文字与第二编码的对应关系对所述第一编码文本中的所述第二文字替换得到,所述第二文字为所述目标文本中所述第一文字以外的所述文字,所述第一文字为所述目标文本中与所述目标字体文件对应的所述文字。
144.步骤s12、根据所述第二文字与所述第二编码的关系,将所述第二编码文本中的所述第二编码替换为所述第二文字,获得所述第一编码文本。
145.本发明实施例中,在基于加密文本的加密对加密文本解密后得到包括第一编码、第二编码的第二编码文本时,可以将第二编码文本中的第二编码替换为对应的第二文字,其中,第二编码文本根据第二文字与第二编码的对应关系对第一编码文本中的第二文字替换得到,第二文字为目标文本中第一文字以外的文字,第一文字为目标文本中与目标字体文件对应的所述文字,具体可参照前述图3的相关描述,为避免重复,在此不再赘述。
146.可选地,所述步骤402,包括:
147.步骤s21、基于所述字体信息对应的所述字体文件,获取所述字体文件对应的偏移量,不同所述字体文件对应的所述偏移量不同。
148.本发明实施例中,不同字体文件可以对应不同的偏移量,根据从服务端接收到的
字体信息,可以确定对应的字体文件,如字体信息为字体标识时,由于字体标识用于唯一标示不同字体文件,因此,可以根据字体标识确定对应的字体文件,从而获得字体文件对应的偏移量,或者,字体信息为替换字体文件时,由于替换字体文件中包括第一文字与第一编码的对应关系,而不同字体文件中文字与第一编码的对应关系具有唯一性,因此,可以根据替换字体文件确定对应的字体文件,从而获得字体文件对应的偏移量,本发明实施例对此不作具体限制。
149.步骤s22、根据所述偏移量对所述加密文本采用高级加密标准进行解密,获得所述第一编码文本。
150.本发明实施例中,解密可以是加密的逆操作,在加密文本采用高级加密标准对第一编码文本加密得到时,可以采用偏移量执行高级加密标准加密的逆操作,从加密文本中解密出第一编码文本。
151.图8是本发明实施例提供的一种高级加密标注的解密流程示意图,如图8所示,获得包括密文1、密文2、密文3的加密文本,采用密钥对密文3进行解密,再与密文2进行异或运算获得明文3;采用密钥对密文2进行解密,再与密文1进行异或运算获得明文2;采用密钥对密文1进行解密,再与偏移量进行异或运算获得明文1,再根据填充规则去除明文3中的填充字节,获得包括明文1、明文2以及明文3的第一编码文本,或第二编码文本。
152.可选地,所述步骤402之后,还包括:
153.步骤s31、在所述字体信息与所述第一编码文本不对应的情况下,在所述页面上显示默认字符。
154.本发明实施例中,字体信息可以指示对目标文本进行编码获得第一编码文本的目标字体文件,可能由于网络质量、安全性的问题,导致字体信息与第一编码文本不对应,则字体信息指向的字体文件中文字与第一编码的对应关系,与第一编码文本中第一编码与第一文字的对应关系不同,无法通过字体信息对第一编码文本解码获得目标文本,此时,可以在页面上显示该字体文件中的默认字符表示解码失败,并避免目标文本的文字内容泄露,其中,默认字符可对应参照前述图3的相关描述,为避免重复,在此不再赘述。
155.步骤403、在所述字体信息与所述第一编码文本对应的情况下,根据所述字体信息加载对应的字体文件,并渲染所述第一编码文本,以在页面上显示所述目标文本。
156.本发明实施例中,dom是处理可扩展置标语言的标准变成接口,提供对文档的结构化标识,通过dom可以将浏览器web页面与脚本、程序语言连接起来。通常将html文档、xml文档转化为dom树的过程称为解析,可以通过dom树描述文档的结构,定义结点对象的行为,利用对象的方法和属性,还可以方便地访问、修改、添加和删除dom树的结点和内容。在本发明实施中,在字体信息与第一编码文本对应的情况下,将第一编码文本添加到dom树的结构中,并加载字体标识指示的字体文件,或加载替换字体文件使第一编码文本在页面上以目标文本的方式显示,其中,加载字体文件可以通过css(cascading style sheets,层叠样式表)将第一编码文本所在dom或所在页面的字体更换为字体信息对应的字体文件,从而在dom中第一编码文本中被替换的第一文字可以默认字符的形式显示,以避免爬虫通过遍历dom爬取目标文本,提升目标文本的安全性。
157.图9是本发明实施例提供的一种dom的结构示意图,如图9所示,在dom中以未加载字体文件的第一编码文本形式显示,被第一编码替换的第一文字显示为默认字符;图10是
本发明实施例提供的一种页面示意图,如图10所示,在图9所示的dom基础上加载字体信息对应的字体文件后,在页面上以目标文本的形式显示。
158.本发明实施例中,第一编码文本可以通过自定义标签(custom elements)的形式进行渲染,自定义标签中第一编码文本可以通过shadow dom的形式进行渲染,shadow dom独立于已有的dom结构,且潜藏在已有的dom结构中无法直接操作,可以将标记结构、样式和行为等封装隐藏,并与页面上的其他代码结构隔离。图11是本发明实施例提供的一种shadow dom的结构示意图,如图11所示,light dom是页面已有的dom结构,在light dom中插入shadow dom以在shadow dom隐藏元素(element),其中,shadow host表示存放shadow dom的容器,shadow-root为shadow dom的根,shadow root及其后代元素element都将对用户隐藏,仅提供shadow-root作为入口展示,因此使用自定义标签通过shadow dom来渲染页面可以有效提高目标文本的安全性。
159.在本发明实施例中,还提供了一种自定义标签渲染页面的具体实现方式,以目标文本为“测试信息测试信息,你好你好”为例,采用自定义标签渲染页面的实现方式如下所示:
[0160][0161]
图12是本发明实施例提供的一种自定义标签渲染页面的页面示意图,如图12所示,通过上述实现方式,在页面中显示了“测试信息测试信息,你好你好”的目标文本。
[0162]
图13是本发明实施例提供的一种自定义标签渲染页面的dom结构示意图,如图13所示,通过dev-tool查看页面的dom结构,可以看出,dom结构中仅展示自定义标签《plm-custom-element》《/plm-custom-element》,而页面上如图12显示了目标文本,即目标文本渲染在了自定义标签中的shadow dom内,实现了内容的封装、隐藏。
[0163]
在本发明实施中,客户端可以接收服务端发送的加密文本与字体信息,其中,加密文本通过服务端对目标文本采用目标字体文件进行编码获得第一编码文本,并对第一编码文本进行加密得到,目标字体文件从至少两套字体文件中随机确定得到,不同字体文件中相同文字对应的第一编码不同;客户端再基于加密文本的加密对所加密文本进行解密,获得第一编码文本,并在字体信息与第一编码文本对应的情况下,根据字体信息加载对应的字体文件,再渲染第一编码文本,以在页面上显示目标文本。在本发明实施中,在多套字体
文件中随机采用目标字体文件对目标文本进行编码,使得目标文本中被编码的文字,以及文字对应的第一编码随机性高,破解难度大,提升了编码的安全性;进一步地,还对第一编码文本进行二次加密获得加密文本,即使获得目标字体文件也需要对加密文本解密后才能加载解码目标文本的内容,进一步提升了目标文本的安全性。
[0164]
图14是本发明实施例提供的一种文本加密装置50的结构框图,可以应用于服务端,如图14所示,该装置可以包括:
[0165]
文本获取模块501,用于获取目标文本;
[0166]
字体确定模块502,用于在至少两套字体文件中随机确定目标字体文件,不同所述字体文件中相同文字对应的第一编码不同;
[0167]
文本编码模块503,用于根据所述目标字体文件中所述文字与所述第一编码的对应关系,将所述目标文本中的第一文字替换为所述第一编码获得第一编码文本,所述第一文字为所述目标文本中与所述目标字体文件对应的所述文字;
[0168]
文本加密模块504,用于对所述第一编码文本进行加密获得加密文本;
[0169]
字体提取模块505,还用于根据所述目标字体文件确定所述第一编码文本对应的字体信息;
[0170]
文本发送模块506,用于将所述加密文本与所述字体信息向客户端发送。
[0171]
所述文本编码模块503,还用于根据第二文字与第二编码之间的对应关系,将所述第一编码文本中的所述第二文字替换为第二编码获得第二编码文本,所述第二文字为所述目标文本中所述第一文字以外的所述文字。
[0172]
所述文本加密模块504,具体用于对所述第二编码文本进行加密,获得所述加密文本。
[0173]
所述文本加密模块504,包括:
[0174]
偏移量确定子模块,用于获取所述目标字体文件对应的偏移量,不同所述目标字体文件对应的所述偏移量不同;
[0175]
文本加密子模块,用于基于所述偏移量对所述第一编码文本采用高级加密标准进行加密,获得所述加密文本。
[0176]
可选地,所述字体文件还包括默认字符,所述默认字符用于在所述字体文件加载失败时显示。
[0177]
在本发明实施中,服务端在获取目标文本后,可以在至少两套字体文件中随机确定目标字体文件,其中,不同字体文件中相同文字对应的第一编码不同,此时,可以根据目标字体文件将目标文本中的第一文字替换为第一编码获得第一编码文本,第一文字为目标文本中与目标字体文件对应的文字,再对第一编码文本进行加密获得加密文本;根据目标字体文件确定第一编码文本对应的字体信息,再将字体信息与加密文本向客户端发送。在本发明实施中,在多套字体文件中随机采用目标字体文件对目标文本进行编码,使得目标文本中被编码的文字,以及文字对应的第一编码随机性高,破解难度大,提升了编码的安全性;进一步地,还对第一编码文本进行二次加密获得加密文本,即使获得目标字体文件也需要对加密文本解密后才能加载解码目标文本的内容,进一步提升了目标文本的安全性。
[0178]
图15是本发明实施例提供的一种文本解密装置的结构框图,可以应用于客户端,如图15所示,该装置可以包括:
[0179]
文本接收模块601,用于接收服务端发送的加密文本与字体信息,所述加密文本通过所述服务端对目标文本采用目标字体文件进行编码获得第一编码文本,并对所述第一编码文本进行加密得到,所述目标字体文件从至少两套字体文件中随机确定得到,不同所述字体文件中相同文字对应的第一编码不同;
[0180]
文本解密模块602,用于基于所述加密文本的加密对所述加密文本进行解密,获得第一编码文本;
[0181]
文本显示模块603,用于在所述字体信息与所述第一编码文本对应的情况下,根据所述字体信息加载对应的字体文件,并渲染所述第一编码文本,以在页面上显示所述目标文本。
[0182]
可选地,所述文本解密模块602,包括:
[0183]
解密子模块,用于基于所述加密文本的加密对所述加密文本进行解密,获得第二编码文本,所述第二编码文本根据第二文字与第二编码的对应关系对所述第一编码文本中的所述第二文字替换得到,所述第二文字为所述目标文本中所述第一文字以外的所述文字,所述第一文字为所述目标文本中与所述目标字体文件对应的所述文字;
[0184]
编码子模块,用于根据所述第二文字与所述第二编码的关系,将所述第二编码文本中的所述第二编码替换为所述第二文字,获得所述第一编码文本。
[0185]
可选地,所述解密子模块,包括:
[0186]
偏移量确定单元,用于基于所述字体信息对应的所述字体文件,获取所述字体文件对应的偏移量,不同所述字体文件对应的所述偏移量不同;
[0187]
文本解密单元,用于根据所述偏移量对所述加密文本采用高级加密标准进行解密,获得所述第一编码文本。
[0188]
可选地,所述文本显示模块603,还用于在所述替换字体文件与所述第一编码文本不对应的情况下,在所述页面上显示默认字符。
[0189]
在本发明实施中,客户端可以接收服务端发送的加密文本与字体信息,其中,加密文本通过服务端对目标文本采用目标字体文件进行编码获得第一编码文本,并对第一编码文本进行加密得到,目标字体文件从至少两套字体文件中随机确定得到,不同字体文件中相同文字对应的第一编码不同;客户端再基于加密文本的加密对所加密文本进行解密,获得第一编码文本,并在字体信息与第一编码文本对应的情况下,根据字体信息加载对应的字体文件,再渲染第一编码文本,以在页面上显示目标文本。在本发明实施中,在多套字体文件中随机采用目标字体文件对目标文本进行编码,使得目标文本中被编码的文字,以及文字对应的第一编码随机性高,破解难度大,提升了编码的安全性;进一步地,还对第一编码文本进行二次加密获得加密文本,即使获得目标字体文件也需要对加密文本解密后才能加载解码目标文本的内容,进一步提升了目标文本的安全性。
[0190]
本发明实施例还提供了一种电子设备,图16是本发明实施例提供的一种电子设备的结构示意图,如图16所示,包括处理器701、通信接口702、存储器703和通信总线704,其中,处理器701,通信接口702,存储器703通过通信总线704完成相互间的通信,
[0191]
存储器703,用于存放计算机程序;
[0192]
处理器701,用于执行存储器703上所存放的程序时,实现如下步骤:
[0193]
获取目标文本;
[0194]
在至少两套字体文件中随机确定目标字体文件,不同所述字体文件中相同文字对应的第一编码不同;
[0195]
根据所述目标字体文件中所述文字与所述第一编码的对应关系,将所述目标文本中的第一文字替换为所述第一编码获得第一编码文本,所述第一文字为所述目标文本中与所述目标字体文件对应的所述文字;
[0196]
对所述第一编码文本进行加密获得加密文本;
[0197]
根据所述目标字体文件确定所述第一编码文本对应的字体信息;
[0198]
将所述加密文本与所述字体信息向客户端发送。
[0199]
可选地,所述对所述第一编码文本进行加密,获得加密文本之前,还包括:
[0200]
根据第二文字与第二编码之间的对应关系,将所述第一编码文本中的所述第二文字替换为第二编码获得第二编码文本,所述第二文字为所述目标文本中所述第一文字以外的所述文字;
[0201]
所述对所述第一编码文本进行加密,获得所述加密文本,包括:
[0202]
对所述第二编码文本进行加密,获得所述加密文本。
[0203]
可选地,所述对所述第一编码文本进行加密,获得所述加密文本,包括:
[0204]
获取所述目标字体文件对应的偏移量,不同所述目标字体文件对应的所述偏移量不同;
[0205]
基于所述偏移量对所述第一编码文本采用高级加密标准进行加密,获得所述加密文本。
[0206]
可选地,所述字体文件还包括默认字符,所述默认字符用于在所述字体文件加载失败时显示。
[0207]
或,所述处理器701,用于执行存储器703上所存放的程序时,实现如下步骤:
[0208]
接收服务端发送的加密文本与字体信息,所述加密文本通过所述服务端对目标文本采用目标字体文件进行编码获得第一编码文本,并对所述第一编码文本进行加密得到,所述目标字体文件从至少两套字体文件中随机确定得到,不同所述字体文件中相同文字对应的第一编码不同;
[0209]
基于所述加密文本的加密对所述加密文本进行解密,获得第一编码文本;
[0210]
在所述字体信息与所述第一编码文本对应的情况下,根据所述字体信息加载对应的字体文件,并渲染所述第一编码文本,以在页面上显示所述目标文本。
[0211]
可选地,所述基于所述加密文本的加密对所述加密文本进行解密,获得第一编码文本,包括:
[0212]
基于所述加密文本的加密对所述加密文本进行解密,获得第二编码文本,所述第二编码文本根据第二文字与第二编码的对应关系对所述第一编码文本中的所述第二文字替换得到,所述第二文字为所述目标文本中所述第一文字以外的所述文字,所述第一文字为所述目标文本中与所述目标字体文件对应的所述文字;
[0213]
根据所述第二文字与所述第二编码的关系,将所述第二编码文本中的所述第二编码替换为所述第二文字,获得所述第一编码文本。
[0214]
可选地,所述基于所述加密文本的加密对所述加密文本进行解密,获得第一编码文本,包括:
[0215]
基于所述字体信息对应的所述字体文件,获取所述字体文件对应的偏移量,不同所述字体文件对应的所述偏移量不同;
[0216]
根据所述偏移量对所述加密文本采用高级加密标准进行解密,获得所述第一编码文本。
[0217]
可选地,所述替换字体文件还包括默认字符,所述基于所述加密对所述加密文本进行解密,获得第一编码文本之后,还包括:
[0218]
在所述替换字体文件与所述第一编码文本不对应的情况下,在所述页面上显示默认字符。
[0219]
上述终端提到的通信总线可以是外设部件互连标准(peripheral component interconnect,简称pci)总线或扩展工业标准结构(extended industry standard architecture,简称eisa)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
[0220]
通信接口用于上述终端与其他设备之间的通信。
[0221]
存储器可以包括随机存取存储器(random access memory,简称ram),也可以包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。
[0222]
上述的处理器可以是通用处理器,包括中央处理器(central processing unit,简称cpu)、网络处理器(network processor,简称np)等;还可以是数字信号处理器(digital signal processing,简称dsp)、专用集成电路(application specific integrated circuit,简称asic)、现场可编程门阵列(field-programmable gate array,简称fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
[0223]
在本发明提供的又一实施例中,还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述实施例中任一所述的文本加密方法或文本解密方法。
[0224]
在本发明提供的又一实施例中,还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述实施例中任一所述的文本加密方法或文本解密方法。
[0225]
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(dsl))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,dvd)、或者半导体介质(例如固态硬盘solid state disk(ssd))等。
[0226]
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
[0227]
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
[0228]
以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献