CN115688150B - 文件加密传输方法、解密显示方法、存储介质和电子设备 - Google Patents
文件加密传输方法、解密显示方法、存储介质和电子设备 Download PDFInfo
- Publication number
- CN115688150B CN115688150B CN202310005148.3A CN202310005148A CN115688150B CN 115688150 B CN115688150 B CN 115688150B CN 202310005148 A CN202310005148 A CN 202310005148A CN 115688150 B CN115688150 B CN 115688150B
- Authority
- CN
- China
- Prior art keywords
- file
- bytes
- byte array
- byte
- processing
- 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.)
- Active
Links
Images
Landscapes
- Storage Device Security (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请提供了一种文件加密传输方法、解密显示方法、存储介质和电子设备,该加密传输方法包括:获取用户终端发送的对目标文件的保存请求,保存请求中包含用户标识;当目标文件相对于用户标识属于敏感文件时,读取目标文件的字节数组;获取目标文件的文件类型;根据文件类型识别字节数组中,用于体现文件内容的字节在字节数组中的第一位置集合;读取目标文件的字节数组;对字节数组中的第一位置集合中的字节进行数值更改处理和位置变换处理;根据两次处理后的字节数组形成加密文件;将加密文件发送至用户终端。本申请可提高文件传输的安全性,且所形成的加密文件不会破坏文件结构。
Description
技术领域
本申请涉及网络信息安全技术领域,具体涉及一种文件加密传输方法、解密显示方法、存储介质和电子设备。
背景技术
在一些重要的平台,人们很容易找到一些漏洞将一些机密文件下载保存,从而造成信息泄露。想从源头上进行文件保存的话,总有一些漏洞可以绕开,而且可能还需要对系统进行重大调整,需要较大的工作量。
在某个MES系统(manufacturing execution system)中,用户因为工作需要,会从系统上对相关工艺信息等pdf文件进行浏览,工艺信息文件属于重要文件,往往需要禁止用户的下载传播。
在浏览器中,pdf查看可以通过embed或者iframe标签进行展示,或者借助Mozilla提供pdf.js文件进行pdf语法解析生成网页界面展示。然而通过标签嵌入的形式展示无法限制用户下载pdf文件,而通过pdf.js的形式,用户依然能够从控制台中获取到下载链接,通过链接可以下载pdf文件。
因此,对于这种绕开系统漏洞进行文件传输的方式,有必要对其传输的数据进行加密处理,以保证重要文件的信息安全。
发明内容
有鉴于此,有必要提出一种文件加密传输方法、解密显示方法、存储介质和电子设备,以提高文件在传输过程中的安全性。
本申请第一方面,提供了一种文件加密传输方法,所述方法包括:
获取用户终端发送的对目标文件的保存请求,所述保存请求中包含用户标识;当所述目标文件相对于所述用户标识属于敏感文件时,
读取所述目标文件的字节数组;
对所述字节数组进行第一处理和第二处理,所述第一处理包括对待第一处理的字节数组中的至少两个字节进行数值更改处理或位置变换处理中的一种,所述第二处理包括对待第二处理的字节数组中的至少两个字节进行数值更改处理或位置变换处理中的另一种;
根据两次处理后的字节数组形成加密文件及可用做对所述加密文件进行解密的密钥的文件标识;
将所述加密文件发送至所述用户终端。
在其中一个实施例中,在所述读取所述目标文件的字节数组之后,还包括:识别所述目标文件中相对于所述用户标识属于敏感内容的部分在所述字节数组中的所处位置;
所述至少两个字节为处于所述敏感内容的部分在所述字节数组中的所处位置中的字节。
在其中一个实施例中,所述位置变换处理包括:
获取所述目标文件的文件类型;
根据所述文件类型识别待变换处理的字节数组中,用于体现文件内容的字节在所述待变换处理的字节数组中的第一位置集合;
将位于所述第一位置集合中的至少两个字节进行位置变换。
在其中一个实施例中,所述将位于所述第一位置集合中的至少两个字节进行位置变换,包括:
计算与所述用户标识相匹配的位置变换因子;
根据所述位置变换因子将位于所述第一位置集合中的至少两个字节进行位置变换。
在其中一个实施例中,所述将位于所述第一位置集合中的至少两个字节进行位置变换,包括:
计算所述字节数组的长度;
从所述第一位置集合中选取数量与所述长度相匹配的位置作为待调换位置;
将位于所述待调换位置中的字节进行位置变换。
在其中一个实施例中,所述变换因子为变换周期值,所述根据所述位置变换因子将位于所述第一位置集合中的至少两个字节进行位置变换,包括:
根据所述变换周期值,将所述第一位置集合中,处于同一周期内的至少两个字节的进行位置变换。
在其中一个实施例中,所述变换因子为位置变换序列,所述根据所述位置变换因子将位于所述第一位置集合中的至少两个字节进行位置变换,包括:
将第一位置集合中,处于与所述位置变换序列中的元素相同位置下的字节,调整至所述元素的值所表示的位置处。
在其中一个实施例中,所述数值更改处理包括:
获取所述目标文件的文件类型;
根据所述文件类型识别待变换处理的字节数组中用于体现文件内容的字节在所述待变换处理的字节数组中的第一位置集合;
将处于第一位置集合中的至少两个字节进行取反处理。
在其中一个实施例中,所述数值更改处理包括:
获取所述目标文件的文件类型;
根据所述文件类型识别待变换处理的字节数组中非用于体现文件内容的字节在所述待变换处理的字节数组中的第二位置集合;
根据所述目标文件的字节数组计算与所述用户相匹配的更改字节数组;
将所述更改字节数组和所述待变换处理的字节数组进行异或运算,形成变换处理后的字节数组,使得变换处理后的字节数组中的第二位置集合中的字节不变。
在其中一个实施例中,所述根据两次处理后的字节数组形成加密文件及可用做对所述加密文件进行解密的密钥的文件标识,包括:
根据所述目标文件的文件类型确定待形成的加密文件的文件类型,所述加密文件的文件类型与所述目标文件的文件类型不同;
获取与所述加密文件的文件类型对应的字节数组模型;
将所述两次处理后的字节数组中,处于所述第一位置集合中的字节加载至所述字节数组模型中,生成所述加密文件
本申请第二方面,提供了一种文件解密显示方法,所述方法包括:
获取针对加密文件进行显示的指令,所述指令中包含用户标识,所述加密文件为根据本申请任一项实施例中的文件加密传输方法所生成的加密文件;
根据所述指令提取所述加密文件的字节数组、文件标识和文件类型;
根据所述文件类型识别所述字节数组中,用于体现文件内容的字节在所述字节数组中的第一位置集合;
基于所述文件标识对所述第一位置集合中的字节进行第一解密处理和第二解密处理,所述第一解密处理包括对待第一解密处理的字节数组中的至少两个字节进行数值还原处理或位置还原处理中的一种,所述第二解密处理包括对待第二处理的字节数组中的至少两个字节进行数值还原处理或位置还原处理中的另一种;
基于所述文件类型确定与所述加密文件对应的目标文件的文件类型;
获取与所述目标文件的文件类型相匹配的字节数组模板;
将所述经过两次解密处理后的,处于所述第一位置集合中的字节加载至所述字节数组模板中,生成所述目标文件;
检测所述目标文件相对于所述用户标识是否属于敏感文件,当不属于敏感文件时,显示所述目标文件。
本申请第三方面,提供了一种电子设备,包括:
一个或多个处理器;
存储器,用于存储一个或多个程序,
其中,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器执行本申请任一实施例中的方法。
本申请第四方面,提供了一种计算机可读存储介质,其上存储有可执行指令,该指令被处理器执行时使处理器执行本申请任一实施例中的方法。
上述的文件加密传输方法、解密显示方法、存储介质和电子设备,针对目标文件的下载请求属于非常规的下载请求时,对目标文件的字节数组采取位置变换和字节数值更改两次处理,从而使得用户最终下载的文件是形成了加密的文件,防止目标文件由于系统存在的漏洞而泄露,提高了文件的安全性。
附图说明
图1为一个实施例中文件加密传输方法和文件显示方法的场景示意图;
图2为一个实施例中文件加密传输方法的流程示意图;
图3为另一个实施例中文件加密传输方法的流程示意图;
图4为一个实施例中根据两次处理后的字节数组形成加密文件的流程示意图;
图5为又一个实施例中文件加密传输方法的流程示意图;
图6为一个实施例中文件解密显示方法的流程示意图;
图7为一个实施例中文件加密传输装置的结构框图;
图8为一个实施例中文件解密显示装置的结构框图;
图9为一个实施例中电子设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本申请所使用的所有术语(包括技术和科学术语)具有本领域技术人员通常所理解的含义,除非另外定义。应注意,这里使用的术语应解释为具有与本说明书的上下文相一致的含义,而不应以理想化或过于刻板的方式来解释。
比如本申请所使用的术语“第一”、“第二”等可在本文中用于描述各种元件,但这些元件不受这些术语限制。这些术语仅用于将第一个元件与另一个元件区分。举例来说,在不脱离本申请的范围的情况下,可以将第一处理称为第二处理,且类似地,可将第二处理称为第一处理。第一处理和第二处理两者都是处理,但其不是同一处理。
再比如本申请所使用的术语“包括”、“包含”等表明了特征、步骤、操作和/或部件的存在,但是并不排除存在或添加一个或多个其他特征、步骤、操作或部件。
本申请中的文件加密传输方法和文件解密显示方法可应用于如图1所示的应用场景中。其中,用户可在其用户终端110上浏览由后台服务器120中提供的相关文件。比如可登录相应的平台账号,并进行相关的数据浏览作业等。该服务器120上提供的部分文件可具有不同的敏感等级或需要一定的权限才能访问,在某些情况下,用户可通过一些系统漏洞绕开相关的权限审核,从而可在用户终端110上查看到对应的信息,并通过相应的文件保存操作,将服务器120上的文件保存至用户终端110本地。服务器120检测到该文件保存操作而触发的保存请求后,可获取对应目标文件,并对目标文件进行相应加密处理后,形成加密文件传输给用户终端110进行保存。
用户终端110在显示该加密文件时,可按照该加密文件对应的解密方式对其进行解密,还原出目标文件。并在进行目标文件显示之前,验证目标文件相当于该用户是否属于敏感文件,当不属于敏感文件时,则在用户终端110上显示该目标文件。
在一个实施例中,如图2所示,提供了一种文件加密传输方法,该方法包括:
步骤202,获取用户终端发送的对目标文件的保存请求。
本实施例中,用户可在其用户终端上对服务器中的文件进行下载或保存,用户终端当检测到对相应文件的下载或保存操作时,触发对该文件的保存请求。电子设备可获取该保存请求,该文件即为目标文件。其中,保存请求中携带有用户的用户标识,用户标识用于唯一识别用户的身份。
电子设备可获取用户在终端上的下载保存操作而触发的保存请求,并识别该保存请求对应的目标文件,该目标文件即为用户准备下载的文件。目标文件可为pdf文件、word文件、PPT文件、txt格式的文件等文本文档。可选地,该电子设备可为上述的服务器120。
步骤204,读取目标文件的字节数组。
本实施例中,字节是通过网络传输信息(或在硬盘、内存等存储单元中存储信息)的单位,字节数组为表示相应信息的字节的集合。该字节可为2进制的字节,即电子设备可以从存储单元中提取该目标文件对应的字节数组。
优选地,当目标文件相对于用户标识属于敏感文件时,执行步骤204。
具体的,可检测保存目标文件所需要的权限是否超过用户标识对应的权限,和/或检测用户终端的当前操作环境是否属于非安全环境。当任意一项检测结果为是时,比如若识别为非安全环境,和/或该目标文件具有一定的敏感性,则判定目标文件相对于用户标识属于敏感文件,并执行步骤204。
其中,该目标文件可能为具有一定敏感性的数据,其需要具备一定的权限才能进行下载保存或传输等操作,故而电子设备可基于该用户标识获取用户的权限,并比较保存该目标文件所需要的权限与用户的权限的高低,若检测不满足该权限,则执行步骤204。
本实施例中,当用户的权限不足时,说明该用户是通过非常规途径对目标文件进行的保存,可能是绕开了系统的检测,此时阻拦用户的保存可能起不到效果,故继续执行步骤204。
在一个实施例中,当检测到与用户标识相匹配的登录账号在预设时间段内输入错误的次数超过预设次数阈值时,和/或当检测用户终端不属于与用户标识对应的常用设备时,判定用户终端的当前操作环境是否属于非安全环境。
可检测该用户的登录账号和密码在预设时间段内是否产生过异常,和/或检测登录该用户信息的设备是否属于非常用设备,若其中一项为是,或者均为是,则判定用户终端的当前操作环境是否属于非安全环境,进而可以判定目标文件相对于用户标识属于敏感文件,并执行步骤204。
其中,该异常可为在预设时间段内是否连续产生过预设次数以上的密码输入错误的情况发生。预设时间段可为最近一天内、一周内或3小时内等任意合适的时长,预设次数可为3次、5次、8次等任意合适的次数。
步骤206,对字节数组进行第一处理和第二处理。
本实施例中,第一处理包括对待第一处理的字节数组中的至少两个字节进行数值更改处理或位置变换处理中的一种,第二处理包括对待第二处理的字节数组中的至少两个字节进行数值更改处理或位置变换处理中的另一种。
优选地,可在完成第一处理之后,再在第一处理的基础上进行第二处理。当第一处理为字节数值更改处理时,第二处理为位置变换处理,待第二处理的字节数组即为进行了数值更改处理后的字节数组。当第二处理为字节数值更改处理时,第一处理为位置变换处理,待第二处理的字节数组即为进行了位置变换处理后的字节数组。
其中,位置变换处理包括将对应字节数组中的至少两个字节在数组中的位置进行变换。比如将字节数组中处于第10位的字节与第20位的字节进行调换。字节数值更改处理包括将对应字节数组中的至少两个字节的数值进行更改。比如可以将第10位的字节数值由原本的“1”更改为“0”,将第20位的字节数值由原本的“0”更改为“1”。
可选地,位置变换处理可以将对应字节数组中的所有字节的位置都进行变换,或者只针对其中的部分字节数组进行变换。字节数值更改处理也可以将对应字节数组中的所有字节的数值都进行更改,或者只针对其中的部分字节数值进行更改。比如电子设备可以确定对应字节数组中需要变换位置和/或数值更改的字节,并对该字节按照预设的位置变换规则和/或数值更改规则进行位置变换和/或数值更改。
在一个实施例中,需要变换位置和/或更改数值的字节,可为按照基于目标文件的信息、用户的用户标识等其中的一种或多种因素而确定的字节。其中,目标文件的信息可包括目标文件的类型、字节数组的长度等。电子设备可针对不同的用户、不同的目标文件来确定需要变换位置的字节。
优选地,电子设备可以检测该目标文件的敏感性、字节数组的长度等,需要变换位置和/或更改数值的字节的数量与敏感性的高低成正比,与长度成正比,即敏感性越高,则需要变换位置和/或更改数值的字节的数量越多;长度越长,则需要变换位置和/或更改数值的字节的数量也越多。
在一个实施例中,针对字节数组中的某个或多个字节,根据计算结果,其可以被进行了位置变换处理、数值更改处理中的一种或两种,也可以根据计算结果,没有对其进行处理。
举例来说,电子设备可以针对字节数组中的所有字节进行取反处理,从而实现对其进行数值更改,和/或针对字节数组中的所有字节按照预设的位置变换规则进行变换。比如可以生成对应的位移数值N,该位移数值用于表示将字节数组中的所有字节循环位移N位,当位移后一溢出了对应的数组长度之后,则将其从头开始循环。比如总长度为M,则当处于第M-N+1位的字节,其循环位移N位的时候,其被移动至数组的第1位,当处于第M-1位的字节,其循环位移N位的时候,被移动至数组的第N-1位,当处于第M位(最末位)的字节,其循环位移N位的时候,被移动至数组的第N位。
同样地,也可以对其中的部分字节进行取反处理,和/或进行循环位移处理等任意合适的处理。
在一个实施例中,上述需要更改数值的字节和/或需要变换位置的字节可为下述的处于第一位置集合中的字节。
步骤208,根据两次处理后的字节数组形成加密文件。
可选地,加密文件的文件类型与目标文件的文件类型可以是相同的类型,也可以是不同的文件类型。
步骤210,将加密文件发送至用户终端。
本实施例中,在完成了对目标文件的字节数组的第一处理和第二处理后,根据处理后的字节数组形成提供给用户下载的文件,传输给到用户终端,以完成用户的下载。该下载的文件即为加密文件,其中的字节数组通过两次处理从而形成了加密文件。
在一个实施例中,在形成加密文件之后,可以基于上述的加密操作形成加密密钥,电子设备根据该加密密钥,可以识别出所采用的具体的加密方法,进而根据与该加密方法对应的解密方式进行解密,从加密文件获取到对应的目标文件。其中,所形成的加密密钥可作为加密文件的文件标识。
上述的文件加密传输方法,针对目标文件的下载请求属于非常规的下载请求时,对目标文件的字节数组采取位置变换和字节数值更改两次处理,从而使得用户最终下载的文件是形成了加密的文件,防止目标文件由于系统存在的漏洞而泄露,提高了文件的安全性。
在一个实施例中,结合图3所示,提供了另一种文件加密传输方法,该方法包括:
步骤302,获取用户终端发送的对目标文件的保存请求。
本实施例中,保存请求中包含用户标识。
步骤304,读取目标文件的字节数组。
可选地,当目标文件相对于用户标识属于敏感文件时,执行步骤304。当不属于敏感文件时,则直接将目标文件传输给用户终端,或采取其他的加密方式对其进行加密,然后将加密后的文件传输给用户终端。
步骤306,获取目标文件的文件类型。
本实施例中,文件类型包括上述的pdf文件、word文件、txt文件、PPT文件等文本文件类型。
步骤308,根据文件类型识别字节数组中,用于体现文件内容的字节在字节数组中的第一位置集合。
其中,不同类型的文件,其对应的字节数组的格式不同。由于不同文件类型具有不同的数据结构或协议等规定,故而相同的内容形成不同的文件时,其对应的字节数组也不相同。
具体地,字节数组中包括用于体现文件类型的数据结构、协议等非文件内容的字节,还包括体现文件内容的字节。文件内容表示文件中记载的文字、图片等信息内容。比如正常的word文件、PPT文件、pdf文件等文件打开之后可以看到里面文字、图片等文本信息。
电子设备可以根据文件类型对该字节数组进行解析,识别出区中表示文件内容的字节和非文件内容的字节。其中,将表示文件内容的字节在字节数组中的位置称为第一位置,字节数组中,所有表示文件内容的字节在其内的位置的集合即为第一位置集合。将不表示文件内容的字节在字节数组中的位置称为第二位置,字节数组中,所有不表示文件内容的字节在其内的位置的集合即为第二位置集合。
目标文件的类型是有限的几种,电子设备可以预先针对每种类型的文件进行解析,识别出不同类型的文件的字节数组中表示其文件类型的字节的特性。比如可以针对多个相同类型的文件的字节数组进行比较,从其中识别出具有相同部分的字节,从而识别出对应类型的字节数据的第二位置集合。
比如识别出存在某个连续相同的字节总是处于对应的字节数组中的固定位置,则该固定位置处的字节即为表示非文件内容的字节。
比如该固定位置处于字节数组的头部,电子设备可读取字节数组头部的字节数据,转换成16进制字符串,可以判断文件格式。不同文件的头部持有一定的字节数据表明自己的格式。
举例来说,Pdf文件其类型的字符串为255044462d312e360d25,doc格式的文件表示其类型的16进制字符串为d0cf11e0a1b11ae10000。不同类型的文件有不同的格式,以pdf为例,pdf格式通常包括header、body、cross reference table、trailer,其中body是文件实际内容区域,格式为... obj,...表示符合pdf规范的合法对象,通过正则可以确认内容区域索引。
这样,针对需要加密的文本,可以根据其文本类型,按照预先分析出来的表示非文件内容的字节在字节数组中的位置,可以解析出该文件的字节数组中,对应表示非文件内容的字节和表示文件的字节,从而识别出对应的第一位置集合与第二位置集合。
在一个实施例中,识别目标文件中相对于用户标识属于敏感内容的部分在字节数组中的所处位置。
可选地,由于平台中的存在敏感性的文件通常是也是有限的,且即使是敏感性的文件,也并非是所有的内容都是敏感的。比如某个具有100页PDF文件,其具体的敏感内容可能是处于第30页~40页部分。
电子设备可以针对相关文件中的哪些内容属于敏感内容进行敏感等级标记,该敏感等级标记可表示相应内容的敏感等级,敏感等级越高,则需要浏览该内容所需要的权限也越高。
这样,在进行加密之前,可以基于该敏感标记来找出相对于用户标识而言属于敏感内容的部分。
电子设备基于识别出来的敏感内容在文本中所处的位置,进而可以找出该敏感内容在对应的字节数组中的所处位置。
步骤310,对字节数组进行第一处理和第二处理。
其中,第一处理包括对待第一处理的字节数组中的至少两个字节进行数值更改处理或位置变换处理中的一种,第二处理包括对待第二处理的字节数组中的至少两个字节进行数值更改处理或位置变换处理中的另一种,至少两个字节包括位于第一位置集合中的字节。
可选地,可对字节数组中处于第一位置集合中的字节进行第一处理和第二处理。
第一处理为针对待第一处理的字节数组中,第一位置集合中的至少两个字节进行数值更改处理或位置变换处理中的一种,第二处理为针对待第一处理的字节数组中,第一位置集合中的至少两个字节进行数值更改处理或位置变换处理中的另一种。电子设备可以针对第一位置集合中的部分字节进行位置变换以及数值更改,而不对第二位置集合中的部分字节进行位置变换或数值更改。
在一个实施例中,该至少两个字节为处于所述敏感内容的部分在所述字节数组中的所处位置中的字节。即电子设备仅针对第一位置集合中,识别出来的相对于该用户标识而言是敏感内容的字节进行第一处理和第二处理,从而不改变其他内容。
这样,用户一方面可以浏览到文件中与自己权限相匹配的内容,对于不匹配的内容也不会造成泄密。另一方面,电子设备也无需对所有的内容都进行加密,可减轻需要加密的工作量。此外,针对进行泄密的用户,其下载到可以打开的且能够浏览部分的内容的文件,可能认为该文件并未被加密,从而使得文件更具有迷惑性,反而提高了文件的安全性。
在一个实施例中,针对目标文件中的敏感内容,可以进一步识别敏感内容的敏感等级是否一致,若不一致,则针对每种敏感等级的部分的内容进行独立的第一处理和第二处理。
举例来说,存在某个目标文件中存在两处内容相对于用户标识A为敏感内容,且第一处敏感等级较低,第二处敏感等级较高,则可以针对该两处内容分别做独立地处理。这样,在进行解密时,如果另一个用户的权限较高,该目标文件相对于其而言仅有一处属于敏感内容,则可以单独解密出其中一处的敏感内容,而对于另一处敏感内容则仍然保持加密状态,从而可以使得目标文件的内容可以被合理地浏览但不被泄密。
步骤312,根据两次处理后的字节数组形成加密文件。
可选地,所形成的加密文件中,还包含可用做对加密文件进行解密的密钥的文件标识。加密文件的文件类型与目标文件的文件类型可以是相同的类型,也可以是不同的文件类型。
通过根据上述的加密操作,形成密钥,并将密钥设置在文件标识中,使得了解该加密文件的加密处理方式的终端,可以根据其文件标识方便地提取密钥,进而根据该密钥实现对加密文件的解密。
具体地,可根据上述的目标文件的信息、用户的用户标识等其中的一种或多种因素来从第一位置集合中确定需要进行位置变换和/或数值更改的字节。
步骤314,将加密文件发送至用户终端。
通过从第一位置集合中进行位置变换和数值更改,可以不破坏文件的结构,使得进行位置变换和数值更改之后,该文件仍然可以被打开,但打开之后所呈现的内容是被修改后的内容,形成了加密。而在不清楚变换方式的情况下,用户会以为该文件中呈现出来的被修改的内容即为文件本身记载的内容,从而可以进一步提高文件内容的隐秘性。
在一个实施例中,位置变换处理包括:计算与用户相匹配的位置变换因子;根据位置变换因子将字节数组中的至少两个字节进行位置变换。
具体地,该字节数组中的至少两个字节可为上述的位于第一位置集合中的字节。即位置变换处理包括:计算与用户相匹配的位置变换因子;根据位置变换因子将位于第一位置集合中的至少两个字节进行位置变换。
本实施例中,变换因子为用于确定字节的变换方式的数值或序列。变换因子可根据用户的信息来确定,该用户的信息可为用户标识。电子设备中预设了变换因子的计算模型,可按照对应的计算模型,根据用户标识来运算出一个对应的变换因子。比如根据用户标识A计算出来的变换因子为A’,根据用户标识B所计算出来的变换因子为B’。
在一个实施例中,变换因子可为具体的变换周期值,也可为位置变换序列。
当变换因子为变换周期值时,根据位置变换因子将位于第一位置集合中的至少两个字节进行位置变换,包括:根据变换周期值,将第一位置集合中,处于同一周期内的至少两个字节的进行位置变换。当变换因子为位置变换序列时,根据位置变换因子将位于第一位置集合中的至少两个字节进行位置变换,包括:将第一位置集合中,处于与位置变换序列中的元素相同位置下的字节,调整至元素的值所表示的位置处。
其中,当变换因子为某个数值时,其可为变换周期值T,比如该周期值T可为大于2、小于字节数量的任意合适的正整数。变换周期值用于表示将处于同一个周期内的字节的位置进行相互变换。变换周期值T可基于用户的用户标识采用预设的计算规则来计算生成,不同的用户标识所生成的变换周期值并不一定相同。
比如周期为5,即表示以5为单位,以需要变换的字节为第一位置集合中的字节为例,将第一位置集合中,每需要变换的相邻的5个字节之间进行位置互换。
优选地,对于同一变换周期内的字节,可以选择部分进行变换,也可以选择所有的进行变换。比如可以选择收尾两个位置的字节进行位置调换,或者可以选择将同一变换周期内的字节按照顺序循环位移N位,该N小于T。比如均循环位移1位,将第1为移动至第2位,最后1位移动至第1位等等。
当变换因子为变换序列时,该变换序列中的每个元素在序列中的位置可以表示在第一位置集合中的字节的位置,处于对应位置下的元素的值即为对应位置的字节被变换后的位置。
举例来说,变换序列的前一部分序列为{5,4,10,8,……},则表示将第一位置集合中的第1个元素移动到第5个位置,第2个元素移动到第4个位置,第3个元素提供到第10个位置,第4个元素,移动到第8个位置处。依次类推,基于该位置变换序列可以对第一位置集合中的对应字节的位置调整。其中,若变换序列中的元素的数值为0,则可以表示对应位置的字节位置不变,不进行位置变换。
上述方法中,通过设置位置变换因子,可以基于该位置变换因子来对相应的字节的位置变换,同时由于位置变换因子跟用户相关联,使得不同的用户对应的变换因子各不相同,可以进一步提高了变换的灵活性,进而提高了目标文件的安全性。
在一个实施例中,位置变换处理包括:计算字节数组的长度;从第一位置集合中选取数量与长度相匹配的位置作为待调换位置;将位于待调换位置中的字节进行位置变换。
本实施例中,电子设备可以检测目标文件的字节数组的长度。可以理解地,如果需要对所有的字节进行位置变换,字节数组的长度越长,则对应的计算量也越大,故而电子设备可以设定需要变换位置的字节数量与长度的计算关系,基于该计算关系来确定需要变换位置的字节的数量。
可选地,可以设置长度与选取数量比例之间的计算关系,该选取数量比例可为待选取字节的数量与第一位置集合(或整个字节数组)中的所有字节的数量之间的比值。比如可设置多个长度阈值范围时,不同的阈值范围对应不同的比值。电子设备可检测字节数组的长度所处的长度阈值范围,基于所处范围确定对应的比值,进而在基于该比值选取对应数量的字节作为待调换位置的字节。
在一个实施例中,电子设备预设了不同的比值或数量的字节所对应的选取方式。比如可以根据该比值按照等比例间隔来选取对应的字节作为待调换位置的字节,也可为基于其他对应的选取方式来选取对应的字节。
在确定了待调换位置的字节后,可基于上述的方式来进行字节位置变换,比如可基于上述的位置变换因子来对相应字节进行位置变换。
上述方法中,通过根据长度来确定待调换位置的数量,可以进一步提高字节选取的灵活性。
在一个实施例中,数值更改处理包括:将处于第一位置集合中的字节进行取反处理。
本实施例中,电子设备可按照上述的过程选取出第一位置集合,并针对第一位置集合中的字节进行数值更改。具体的,可针对第一位置集合中的至少两个字节或所有字节均进行取反处理。即可将第一位置集合中的待变换数值的字节的数值为“1”的字节取反变成“0”,将“0”取反变成“1”。
通过直接对其进行取反,可以简单高效地完成字节数值的变换。
在一个实施例中,上述方法还包括:根据文件类型识别待变换处理的字节数组中非用于体现文件内容的字节在待变换处理的字节数组中的第二位置集合。数值更改处理包括:根据目标文件的字节数组计算与用户相匹配的更改字节数组;将更改字节数组和待变换处理的字节数组进行异或运算,形成变换处理后的字节数组,使得变换处理后的字节数组中的第二位置集合中的字节不变。
本实施例中,电子设备可以按照上述的过程识别出第一位置和第二位置,形成对应的第一位置集合和第二位置集合。
对于识别出来第一位置和第二位置之后,可以基于该位置信息和对应位置的数值生成相应的更改字节数组。该更改字节数组为用于与目标文件的字节数组进行异或处理的数组。
具体地,电子设备可以首先创建一个与该目标文件的字节数组的长度相同的基础字节数组,该基础字节数组中的字节数值可为按照预设的生成规律来确定。再根据目标文件的字节数组中的第二位置上的字节的数值,来调整基础字节数组上的字节的数值,形成更改字节数组,使得更改字节数组与目标文件的字节数组中相同位置的字节数值之间进行异或的时候,不改变目标文件的字节数组中的第二位置上的字节的数值。
在一个实施例中,该基础字节数组的生成还可以与用户标识和/或目标文件的文件标识相关,使得不同的用户和/或目标文件所生成的基础字节数组中的字节的数值不同。
电子设备预设有基础字节数组的生成模型,可将用户标识和/或文件标识作为该模型的输入,并运行该模型,形成基础字节数组。通过这种方式,可以进一步提高目标文件的字节数组的数值更改的不确定性,进而提高了目标文件在传输过程中的安全性。
在一个实施例中,如图4所示,根据两次处理后的字节数组形成加密文件,包括:
步骤402,根据目标文件的文件类型确定待形成的加密文件的文件类型。
可选地,加密文件的文件类型与目标文件的文件类型不同。电子设备可预设不同的类型的目标文件与加密文件之间的对应关系,基于该对应关系,确定需要形成的加密文件的文件类型。举例来说,如果目标文件的文件类型是word文件,则根据对应关系,可确定其所需要形成的加密文件的文件类型为pdf文件。
优选地,电子设备可识别目标文件相对于用户标识是否已知,若不知,则执行步骤402。
可以理解的,用户终端的用户可能存在了解目标文件的文件类型,也可能不了解目标文件的类型。当其了解目标文件的类型时,进行文件类型转换则不具有意义,反而使得用户获知其已进行了加密。当用户不了解目标文件的类型时,对目标文件进行类型转换才具有意义。
具体地,电子设备可以检测该保存请求中是否指定了目标文件的文件类型,或者用户终端的界面上是否显示了目标文件的唯一类型,若是,则判定相对于用户标识已知。若保存请求中未指定目标文件的文件类型,且用户终端的界面上也无法显示目标文件的文件类型,或者显示了目标文件的文件类型有多个,则判定用户不清楚目标文件的类型,即相对于用户标识是未知。
举例来说,当用户的权限级别较低,其通过某些漏洞可以访问到文件中的具体内容,但其不了解文件的具体类型,则可以判定用户未知。反之,若用户在该界面上选中了对应保存的文件的文件类型,则判定用户已知目标文件的类型。
步骤404,获取与加密文件的文件类型对应的字节数组模型。
电子设备中预设了各种文件类型的字节数组模板,该字节数组模板可包括用于体现对应文件内容的字节部分,和非用于体现文件内容的字节部分。该非用于体现文件内容(或者用于体现非文件内容)的字节部分可包含体现出对应文件的文件类型,文件打开协议等信息,使得基于该字节部分,可以知道对应的文件是哪种类型文件,并且如何显示对应的文件。
其中,用于体现对应文件内容的字节部分可为空值。
步骤406,将两次处理后的字节数组中,处于第一位置集合中的字节加载至字节数组模型中,生成加密文件。
可选地,可保持该字节数组模型中,非用于体现文件内容的字节部分的信息保持不变,而将第一位置集合中的字节替换掉其中的用于体现文件内容的字节部分,从而形成对应文件类型的加密文件。
比如目标文件的文件类型是word文件,则可以将该word文件中,体现word文件内容(比如其中的文字、图片等内容)的部分的字节进行两次处理之后,将该部分的字节加载至pdf文件对应的字节数组模型中,使得保持形成的文件仍为pdf文件,但该pdf文件中用于体现其内容(比如pdf文件中的文字、图片等内容)的部分的字节,被替换为了对应word文件中的第一位置集合中的字节。
其中,相同的内容在的类型的文件的字节数组中,对应的第一位置集合中的字节并不一定相同。也就是说,即使不对目标文件中的第一位置集合中的字节进行处理,而仅是将第一位置集合中的字节加载至加密文件的字节数组模型中,通过与该加密文件的文件类型对应的显示方式来显示该加密文件,其也无法显示出目标文件中的文件内容。
上述方法中,通过使所形成的加密文件的文件类型产生变化,而不清楚文件类型产生了变化的终端在对其进行解密时,即使还原出了第一位置集合中的字节的信息,也无法通过加密文件的文件类型来显示其中的内容。
在一个实施例中,上述的步骤之间可以在不出现矛盾的情况下进行任意组合。
以第一处理为位置变换处理,第二处理为数值更改处理为例,如图5所示,该文件加密传输方法包括:
步骤502,获取用户终端发送的对目标文件的保存请求。
其中,该保存请求中包含用户标识。其中,目标文件为用户在其用户终端上访问相关系统时,所请求保存到终端的文件,该文件可为pdf文件、word文件等文件。比如该系统可为上述的MES系统,该目标文件可为系统上的涉及到工艺信息的pdf文件,该文件通常需要禁止用户下载传播。
用户终端可通过token,携带用户的登录信息(包括用户标识)向电子设备发起获取目标文件的请求,同时将响应类型设置成blob格式。
步骤504,读取目标文件的字节数组。
具体地,电子设备基于OAuth2协议,校验该token,验证通过后,再进行目标文件相对于用户标识是否属于敏感文件的检测。当目标文件相对于用户标识属于敏感文件时,执行步骤504。若token校验不通过,则可以直接拒绝该保存请求。
步骤506,获取目标文件的文件类型。
步骤508,根据文件类型识别待变换处理的字节数组中,用于体现文件内容的字节在待变换处理的字节数组中的第一位置集合。
步骤510,将位于第一位置集合中的至少两个字节进行位置变换。
优选地,可计算字节数组的长度;从第一位置集合中选取数量与长度相匹配的位置作为待调换位置。
并计算与用户标识相匹配的位置变换因子,根据位置变换因子将位于待调换位置中的字节进行位置变换。
其中,该位置变换因子可为上述的变换周期值或位置变换序列。当为变换周期值时,可根据变换周期值,将待调换位置中,处于同一周期内的至少两个字节的进行位置变换。当为位置变换序列时,将待调换位置中,处于与位置变换序列中的元素相同位置下的字节,调整至元素的值所表示的位置处。
在一个实施例中,电子设备可以识别目标文件中具体是哪些内容相对于用户而言是敏感内容,针对这些敏感内容的字节进行位置变换。将这些字节作为待调换位置的字节。
由于系统中存在一些文件是具有一些常规的内容和核心内容,比如某个工艺信息文件,其中的部分工艺是常规工艺,而另一部分是核心工艺。电子设备可以基于该文件中的内容或者预先做的敏感内容标记,识别出其中属于核心工艺的信息,将体现该信息的字节作为待调换位置的字节。
步骤512,将经过位置变换后的处于第一位置集合中的至少两个字节进行数值更改处理。
优选地,该数值更改处理可为上述的取反处理或异或运算处理。当为取反处理时,可将处于第一位置集合中的待进行调整的字节进行取反处理。当为异或运算处理时,可根据文件类型识别待变换处理的字节数组中非用于体现文件内容的字节在待变换处理的字节数组中的第二位置集合;根据目标文件的字节数组计算与用户相匹配的更改字节数组;将更改字节数组和待变换处理的字节数组进行异或运算,形成变换处理后的字节数组,使得变换处理后的字节数组中的第二位置集合中的字节不变。该待变换处理的字节数组即为上述的经过了步骤510处理后的字节数组。
优选地,可仅针对上述识别出来的敏感内容所对应的字节进行第一处理和第二处理,对于非敏感内容所对应的字节保持不变,从而使得处理后的文本中,只有敏感内容部分被加密,而非敏感内容部分仍然可以被浏览显示。
进一步地,可针对上述识别出来的敏感内容的字节进行数值更改处理。这样,所处理后的文件中只对敏感内容进行了加密,使得最终发送到用户终端的文件是可以看到其中非敏感内容的文件,其可能以为所收到的文件即为原始未加密的文件,从而实现了针对需要保密的内容的隐藏。
在一个实施例中,上述步骤510和步骤512之间的执行顺序可以反过来,即第一处理为数值更改处理,第二处理为位置变换处理,此时,可首先将位于第一位置集合中的至少两个字节进行数值更改处理,再将经过数值更改处理后的处于第一位置集合中的至少两个字节进行位置变换处理。
步骤514,根据两次处理后的字节数组形成加密文件。
其中,该两次处理即上述的数值更改处理和位置变换处理。可选地,可根据目标文件的文件类型确定待形成的加密文件的文件类型,加密文件的文件类型与目标文件的文件类型不同;获取与加密文件的文件类型对应的字节数组模型;将两次处理后的字节数组中,处于第一位置集合中的字节加载至字节数组模型中,生成加密文件。
其中,还进一步形成可用做对加密文件进行解密的密钥的文件标识。
步骤516,将加密文件发送至用户终端。
上述的文件加密传输方法,通过识别目标文件的类型,基于该类型确定出其中的体现目标文件的内容的字节的第一位置集合,并针对第一位置集合中的字节进行位置变换和数值更改。且具体的位置变换和数值更改跟用户标识相关,在保证了目标文件的类型不被破坏的情况下,对其中的内容形成了加密,提高了文件传输过程的安全性。同时仅利用简单的字节位置变换和字节数值更改处理,在保证了文件传输的安全性的同时,并不需要占用电子设备过多的计算资源。如果对非第一位置集合中的字节进行了改动,则使得目标文件遭到了破坏,从而使得无法被打开,比如该目标文件是word文件时,如果修改了其中的非第一位置集合中的字节,则修改后的文件可能是一个无法识别其类型的文件,无法以word的形式打开,这样,用户可明显发现该文件是被处理后的文件,从而寻找相应的破解方法。而如果保持文件的类型不被破坏,则用户发现下载的文件仍然是与目标文件对应的类型,或者也其他适合浏览该内容的文件类型,则可能认为文件未进行过加密,这样可以提高文件中的内容的隐蔽性。
上述的文件解密传输方法,针对由于通过非常规途径浏览到的系统中的文件内容时,其可能只能看到文件中的内容,而不清楚文件类型,故而在下载该文件时,也并不清楚对应的文件类型是哪种,比如用户也不清楚对应的文件内容是pdf文件还是word文件。而此时,当系统中存储的目标文件为pdf文件时,可将其加密并转换伪装成word文件传输至用户终端,这样用户并不清楚其文件类型,从而认为自己获得了相应的目标文件。
在一个实施例中,如图6所示,提供了一种文件解密显示方法,该方法包括:
步骤602,获取针对加密文件进行显示的指令。
本实施例中,电子设备可以检测用户的操作,基于对应的操作形成对加密文件进行显示的指令。其中,该指令中包含用户标识,加密文件为本申请任一项实施例中的文件加密传输方法所生成的加密文件。该电子设备可为上述的用户终端110。
步骤604,根据指令提取加密文件的字节数组、文件标识和文件类型。
步骤606,根据文件类型识别字节数组中,用于体现文件内容的字节在字节数组中的第一位置集合。
电子设备可采用上述的方式识别加密文件的字节数组、文件标识和文件类型,以及该字节数组中的用于体现文件内容的字节。
步骤608,基于文件标识对第一位置集合中的字节进行第一解密处理和第二解密处理。
本实施例中,第一解密处理包括对待第一解密处理的字节数组中的至少两个字节进行数值还原处理或位置还原处理中的一种,第二解密处理包括对待第二处理的字节数组中的至少两个字节进行数值还原处理或位置还原处理中的另一种。
可选地,电子设备中预设了与第一处理对应的第一还原处理,与第二处理对应的第二还原处理。其中,可根据该文件标识识别出该加密文件所采用的具体的第一处理和第二处理,进而对其采取适应性的第一还原处理和第二还原处理,从而将加密文件字节数组中,处于第一位置集合中的字节还原出来。
具体地,可根据该文件标识和/或用户标识,确定出针对加密文件所进行的字节位置变换的变换方式,以及字节数值修改的修改方式,进而按照相匹配的还原方式对字节位置和字节数值进行还原。比如可以基于文件标识和用户标识,识别出针对位置变换所采用的位置变换因子,针对字节数值更改所采用的更改字节数组等。
步骤610,基于文件类型确定与加密文件对应的目标文件的文件类型。
可选地,文件标识中还体现出了该加密文件对应的目标文件的文件类型,或者可根据预设的加密文件与目标文件的文件类型对应关系,确定出相应的目标文件的文件类型。可选地,加密文件的文件类型与目标文件的文件类型不相同。
步骤612,获取与目标文件的文件类型相匹配的字节数组模板。
步骤614,将经过两次解密处理后的,处于第一位置集合中的字节加载至字节数组模板中,生成目标文件。
可选地,步骤612和步骤614的具体实现过程如上述过程相似,此处不再赘述。
步骤616,显示目标文件。
电子设备可针对还原出来的目标文件,按照目标文件的文件类型的显示方式,在电子设备中显示该目标文件。
在一个实施例中,电子设备还可以检测目标文件相对于用户标识是否属于敏感文件,当不属于敏感文件时,才执行步骤614。当属于敏感文件时,则可以直接打开该显示指令所对应的加密文件,以防止加密文件中的内容被泄露。
比如该加密文件为word文件,其对应还原出来的目标文件为pdf文件,在检测到不属于敏感文件时,电子设备可采取pdf文件打开的方式显示开pdf文件中的内容,该内容即为word文件中所还原出来的内容。
而当判定属于敏感文件,则电子设备可以直接打开该word文件,此时所显示的word文件中的信息为被惊醒过两次处理后所呈现的信息,与pdf文件中所显示的信息不同。
举例来说,当存在两个用户,其中该加密文件为用户A对目标文件X进行保存时所得到的加密文件,用户A将该加密文件发送给了用户B,用户B可为用户A的直属领导。当用户A通过电子设备来解密该加密文件并显示时,电子设备识别该目标文件相对于用户A为敏感文件,其直接打开加密文件进行显示。而用户B具有更高的权限,该目标文件相对于用户B而言不属于敏感文件,则用户B的用户终端上显示的可为解密后的目标文件。
进一步地,若该目标文件X中相对于用户A而言具有多处敏感内容,其所形成的加密文件中仅对具有敏感内容的部分进行了加密,则用户A在其用户终端上所呈现的为对该多处敏感内容进行了加密后的信息。而该目标文件X相对于用户B而言,被加密的内容有一部分属于敏感内容,有一部分不属于敏感内容,则针对解密出来的目标文件X,电子设备针对属于敏感内容的部分仍然保留被第一处理和第二处理后的字节,对于不属于敏感内容的部分,则保留为经过第一解密处理和第二解密处理后的字节,并以此在用户B的用户终端上进行显示,从而使得用户B可以浏览到与其权限相匹配的内容,而不会造成敏感信息的泄露。
在一个实施例中,在步骤604之前,还包括:获取用户输入的密钥信息,对密钥信息进行验证,在验证通过后,执行步骤604。
可选地,电子设备可以将用户输入的密钥信息与从加密文件的文件标识中提取出来的密钥进行验证,在验证通过后才执行步骤604。若验证不通过,则可直接打开该显示指令所对应的加密文件,以防止加密文件中的内容被泄露。其中,该密钥信息可为根据加密时所采用的用户标识所生成的验证码。这样,电子设备可以从该密钥信息中分析出对该加密文件进行加密时所使用的用户标识,并基于该用户标识识别出所采用的位置变换因子,并最终基于所识别出来的用户标识和文件标识来确定具体的解密方式。
在一个实施例中,如图7所示,提供了一种文件加密传输装置,该装置包括:
目标文件获取模块702,用于获取用户终端发送的对目标文件的保存请求,保存请求中包含用户标识;当目标文件相对于用户标识属于敏感文件时,读取目标文件的字节数组;
字节数组处理模块704,用于对字节数组进行第一处理和第二处理,第一处理包括对待第一处理的字节数组中的至少两个字节进行数值更改处理或位置变换处理中的一种,第二处理包括对待第二处理的字节数组中的至少两个字节进行数值更改处理或位置变换处理中的另一种;
加密文件生成模块706,用于根据两次处理后的字节数组形成加密文件;将加密文件发送至用户终端。
在一个实施例中,字节数组处理模块704还用于获取目标文件的文件类型;根据文件类型识别待变换处理的字节数组中,用于体现文件内容的字节在待变换处理的字节数组中的第一位置集合;将位于第一位置集合中的至少两个字节进行位置变换。
在一个实施例中,字节数组处理模块704还用于计算与用户标识相匹配的位置变换因子;根据位置变换因子将位于第一位置集合中的至少两个字节进行位置变换。
在一个实施例中,字节数组处理模块704还用于计算字节数组的长度;从第一位置集合中选取数量与长度相匹配的位置作为待调换位置;将位于待调换位置中的字节进行位置变换。
在一个实施例中,当变换因子为变换周期值时,字节数组处理模块704还用于根据变换周期值,将第一位置集合中,处于同一周期内的至少两个字节的进行位置变换。
在一个实施例中,当变换因子为位置变换序列时,字节数组处理模块704还用于将第一位置集合中,处于与位置变换序列中的元素相同位置下的字节,调整至元素的值所表示的位置处。
在一个实施例中,字节数组处理模块704还用于获取目标文件的文件类型;根据文件类型识别待变换处理的字节数组中用于体现文件内容的字节在待变换处理的字节数组中的第一位置集合;将处于第一位置集合中的至少两个字节进行取反处理。
在一个实施例中,字节数组处理模块704还用于获取目标文件的文件类型;根据文件类型识别待变换处理的字节数组中非用于体现文件内容的字节在待变换处理的字节数组中的第二位置集合;根据目标文件的字节数组计算与用户相匹配的更改字节数组;将更改字节数组和待变换处理的字节数组进行异或运算,形成变换处理后的字节数组,使得变换处理后的字节数组中的第二位置集合中的字节不变。
在一个实施例中,加密文件生成模块706,用于根据目标文件的文件类型确定待形成的加密文件的文件类型,加密文件的文件类型与目标文件的文件类型不同;获取与加密文件的文件类型对应的字节数组模型;将两次处理后的字节数组中,处于第一位置集合中的字节加载至字节数组模型中,生成加密文件。
在一个实施例中,提供了一种文件解密显示装置,如图8所示,该装置包括:
显示指令获取模块802,用于获取针对加密文件进行显示的指令,指令中包含用户标识,加密文件本申请任一项实施例中的文件加密传输方法所生成的加密文件。
文件解密模块804,用于根据指令提取加密文件的字节数组、文件标识和文件类型;根据文件类型识别字节数组中,用于体现文件内容的字节在字节数组中的第一位置集合;基于文件标识对第一位置集合中的字节进行第一解密处理和第二解密处理,第一解密处理包括对待第一解密处理的字节数组中的至少两个字节进行数值还原处理或位置还原处理中的一种,第二解密处理包括对待第二处理的字节数组中的至少两个字节进行数值还原处理或位置还原处理中的另一种;基于文件类型确定与加密文件对应的目标文件的文件类型;获取与目标文件的文件类型相匹配的字节数组模板;将经过两次解密处理后的,处于第一位置集合中的字节加载至字节数组模板中,生成目标文件。
文件显示模块806,用于检测目标文件相对于用户标识是否属于敏感文件,当不属于敏感文件时,显示目标文件。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有可执行指令,该指令被处理器执行时使处理器执行上述各方法实施例中的步骤。
在一个实施例中,还提供了一种电子设备,包括一个或多个处理器;存储器,存储器中存储有一个或多个程序,其中,当一个或多个程序被一个或多个处理器执行时,使得一个或多个处理器执行上述各方法实施例中的步骤。其中,该电子设备可为上述的服务器120或用户终端110。
在一个实施例中,如图9所示,其示出了用于实现本申请的实施例的电子设备的结构示意图。电子设备900包括中央处理单元(CPU)901,其可以根据存储在只读存储器(ROM)902中的程序或者从存储部分908加载到随机访问存储器(RAM)903中的程序而执行各种适当的动作和处理。在RAM 903中,还存储有电子设备900操作所需的各种程序和数据。CPU901、ROM 902以及RAM 903通过总线904彼此相连。输入/输出(I/O)接口905也连接至总线904。
以下部件连接至I/O接口905:包括键盘、鼠标等的输入部分906;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分907;包括硬盘等的存储部分908;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分909。通信部分909经由诸如因特网的网络执行通信处理。驱动器910也根据需要连接至I/O接口905。可拆卸介质911,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器910上,以便于从其上读出的计算机程序根据需要被安装入存储部分908。
特别地,根据本申请的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本申请的实施例包括一种计算机程序产品,包括承载指令的在计算机可读介质,在这样的实施例中,该指令可以通过通信部分909从网络上被下载和安装,和/或从可拆卸介质911被安装。在该指令被中央处理单元(CPU)901执行时,执行本申请中描述的各个方法步骤。
尽管已经描述了示例实施例,但是对于本领域技术人员来说显而易见的是,在不脱离本申请构思的精神和范围的情况下,可以进行各种改变和修改。因此,应当理解,上述示例实施例不是限制性的,而是说明性的。
Claims (9)
1.一种文件加密传输方法,其特征在于,所述方法包括:
获取用户终端发送的对目标文件的保存请求,所述保存请求中包含用户A的用户标识;当所述目标文件相对于所述用户标识属于敏感文件时,读取所述目标文件的字节数组;
获取所述目标文件的文件类型;
根据所述文件类型识别所述字节数组中,用于体现文件内容的字节在所述字节数组中的第一位置集合;
识别所述目标文件中相对于所述用户标识属于敏感内容的部分在所述字节数组中的所处位置;
对所述字节数组进行第一处理和第二处理,所述第一处理包括对待第一处理的字节数组中的至少两个字节进行数值更改处理或位置变换处理中的一种,所述第二处理包括对待第二处理的字节数组中的至少两个字节进行数值更改处理或位置变换处理中的另一种,所述至少两个字节包括位于所述第一位置集合中的字节,且所述至少两个字节为处于所述敏感内容的部分在所述字节数组中的所处位置中的字节;
根据两次处理后的字节数组形成加密文件及可用做对所述加密文件进行解密的密钥的文件标识;
将所述加密文件发送至所述用户终端;
所述对所述字节数组进行第一处理和第二处理使得所述加密文件被解密并显示时,对于请求显示所述加密文件的用户B而言,属于敏感内容的部分仍然保留为被第一处理和第二处理后的字节,而不属于敏感内容的部分则保留为经过第一解密处理和第二解密处理后的字节,所述第一解密处理包括对待第一解密处理的字节数组中的至少两个字节进行数值还原处理或位置还原处理中的一种,所述第二解密处理包括对待第二处理的字节数组中的至少两个字节进行数值还原处理或位置还原处理中的另一种,所述目标文件中相对于所述用户A而言具有多处敏感内容,相对于所述用户B而言,所述目标文件中被加密的内容有一部分属于敏感内容,有一部分不属于敏感内容。
2.根据权利要求1所述的方法,其特征在于,所述位置变换处理包括:
计算与所述用户标识相匹配的位置变换因子;
根据所述位置变换因子将位于所述第一位置集合中的至少两个字节进行位置变换。
3.根据权利要求1所述的方法,其特征在于,所述位置变换处理包括:
计算所述字节数组的长度;
从所述第一位置集合中选取数量与所述长度相匹配的位置作为待调换位置;
将位于所述待调换位置中的字节进行位置变换。
4.根据权利要求2所述的方法,其特征在于,所述变换因子为变换周期值,所述根据所述位置变换因子将位于所述第一位置集合中的至少两个字节进行位置变换,包括:
根据所述变换周期值,将所述第一位置集合中,处于同一周期内的至少两个字节进行位置变换;或
所述变换因子为位置变换序列,所述根据所述位置变换因子将位于所述第一位置集合中的至少两个字节进行位置变换,包括:
将所述第一位置集合中,处于与所述位置变换序列中的元素相同位置下的字节,调整至所述元素的值所表示的位置处。
5.根据权利要求1所述的方法,其特征在于,所述数值更改处理包括:
将处于所述第一位置集合中的至少两个字节进行取反处理。
6.根据权利要求1所述的方法,其特征在于,在所述根据两次处理后的字节数组形成加密文件及可用做对所述加密文件进行解密的密钥的文件标识之前,还包括:
根据所述文件类型识别待变换处理的字节数组中非用于体现文件内容的字节在所述待变换处理的字节数组中的第二位置集合;
所述数值更改处理包括:
根据所述目标文件的字节数组计算与所述用户相匹配的更改字节数组;
将所述更改字节数组和所述待变换处理的字节数组进行异或运算,形成变换处理后的字节数组,使得变换处理后的字节数组中的第二位置集合中的字节不变。
7.一种文件解密显示方法,其特征在于,所述方法包括:
获取针对加密文件进行显示的指令,所述指令中包含用户标识,所述加密文件为根据权利要求1至6中任一项所述的方法所生成的加密文件;
根据所述指令提取所述加密文件的字节数组、文件标识和文件类型;
根据所述文件类型识别所述字节数组中,用于体现文件内容的字节在所述字节数组中的第一位置集合;
基于所述文件标识对所述第一位置集合中的字节进行第一解密处理和第二解密处理,所述第一解密处理包括对待第一解密处理的字节数组中的至少两个字节进行数值还原处理或位置还原处理中的一种,所述第二解密处理包括对待第二处理的字节数组中的至少两个字节进行数值还原处理或位置还原处理中的另一种;
基于所述文件类型确定与所述加密文件对应的目标文件的文件类型;
获取与所述目标文件的文件类型相匹配的字节数组模板;
将经过两次解密处理后的,处于所述第一位置集合中的字节加载至所述字节数组模板中,生成所述目标文件;
检测所述目标文件相对于所述用户标识是否属于敏感文件,当不属于敏感文件时,
显示所述目标文件。
8.一种电子设备,包括:
一个或多个处理器;
存储器,用于存储一个或多个程序,
其中,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器执行如权利要求1至7中任一项所述的方法。
9.一种计算机可读存储介质,其上存储有可执行指令,该指令被处理器执行时使处理器执行如权利要求1至7中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310005148.3A CN115688150B (zh) | 2023-01-04 | 2023-01-04 | 文件加密传输方法、解密显示方法、存储介质和电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310005148.3A CN115688150B (zh) | 2023-01-04 | 2023-01-04 | 文件加密传输方法、解密显示方法、存储介质和电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115688150A CN115688150A (zh) | 2023-02-03 |
CN115688150B true CN115688150B (zh) | 2023-04-07 |
Family
ID=85057369
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310005148.3A Active CN115688150B (zh) | 2023-01-04 | 2023-01-04 | 文件加密传输方法、解密显示方法、存储介质和电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115688150B (zh) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101370069A (zh) * | 2007-05-30 | 2009-02-18 | 富士通株式会社 | 图像加密/解密系统 |
CN101859360A (zh) * | 2009-04-08 | 2010-10-13 | 黄金富 | 一种文件保密处理方法和相应软件及解密阅读装置 |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TW200949541A (en) * | 2008-05-28 | 2009-12-01 | Ind Tech Res Inst | A browsing method for digital content of hierarchical image management and system therefore |
CN106778295B (zh) * | 2016-11-30 | 2020-04-10 | Oppo广东移动通信有限公司 | 文件存储、显示方法、装置及终端 |
CN107659632B (zh) * | 2017-09-19 | 2021-02-05 | 咪咕数字传媒有限公司 | 一种文件加解密方法、装置及计算机可读存储介质 |
CN107682335B (zh) * | 2017-10-09 | 2020-05-22 | 平安普惠企业管理有限公司 | 数据传输方法、服务端以及计算机可读存储介质 |
US10515222B2 (en) * | 2017-11-17 | 2019-12-24 | Blackberry Limited | Electronic device including display and method of encrypting information |
CN111079163B (zh) * | 2019-12-16 | 2020-10-30 | 国网山东省电力公司威海市文登区供电公司 | 加解密信息系统 |
CN111159744A (zh) * | 2019-12-30 | 2020-05-15 | 北京每日优鲜电子商务有限公司 | 数据报表的源用户确定方法、装置、设备及存储介质 |
CN115221545A (zh) * | 2021-04-16 | 2022-10-21 | 中国移动通信集团辽宁有限公司 | 文件传输方法、装置、设备及计算机可读存储介质 |
CN115277143B (zh) * | 2022-07-19 | 2023-10-20 | 中天动力科技(深圳)有限公司 | 一种数据安全传输方法、装置、设备及存储介质 |
CN115242779B (zh) * | 2022-07-25 | 2024-01-30 | 京东方科技集团股份有限公司 | 基于小程序的文件传输方法、系统及电子设备 |
CN115098877A (zh) * | 2022-08-25 | 2022-09-23 | 北京前沿信安科技股份有限公司 | 一种文件加解密的方法、装置、电子设备及介质 |
-
2023
- 2023-01-04 CN CN202310005148.3A patent/CN115688150B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101370069A (zh) * | 2007-05-30 | 2009-02-18 | 富士通株式会社 | 图像加密/解密系统 |
CN101859360A (zh) * | 2009-04-08 | 2010-10-13 | 黄金富 | 一种文件保密处理方法和相应软件及解密阅读装置 |
Also Published As
Publication number | Publication date |
---|---|
CN115688150A (zh) | 2023-02-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9275222B2 (en) | Reliable selection of security countermeasures | |
JP6545136B2 (ja) | ウェブページの暗号化送信のためのシステム及び方法 | |
CN110278115B (zh) | 热更新方法及装置 | |
JP2003218851A (ja) | ディジタル資産を安全化する方法及び装置 | |
CN110851800B (zh) | 代码保护方法、装置、系统及可读存储介质 | |
CN108319822B (zh) | 一种保护网页代码的方法、存储介质、电子设备和系统 | |
CN113498514A (zh) | 校验第三方内容在客户端设备上的显示 | |
CN114244522A (zh) | 信息保护方法、装置、电子设备及计算机可读存储介质 | |
JP2004171367A (ja) | 回路動作シミュレーション装置、回路動作シミュレーション方法、回路動作シミュレーションプログラム、および回路情報復号化プログラム | |
CN111783119B (zh) | 表单数据安全控制方法、装置、电子设备及存储介质 | |
CN115688150B (zh) | 文件加密传输方法、解密显示方法、存储介质和电子设备 | |
CN109343971B (zh) | 一种基于缓存技术的浏览器数据传递方法及装置 | |
CN113645198B (zh) | 一种计算机网络信息安全监护方法 | |
CN114201771A (zh) | 数据加密、解密方法、装置、电子设备及存储介质 | |
CN113609425A (zh) | 网页数据处理方法及系统 | |
CN108259490B (zh) | 一种客户端校验方法及装置 | |
CN114928551B (zh) | 一种系统配置方法、装置和存储介质 | |
CN113508380A (zh) | 用于终端实体认证的方法 | |
CN117113437B (zh) | 一种文件篡改检测方法、装置、计算机设备及存储介质 | |
CN115292747B (zh) | 文件保护方法、装置、电子设备及存储介质 | |
CN115834254B (zh) | 网络内容安全防护方法、装置、存储介质及电子设备 | |
CN114760078B (zh) | 一种防止恶意篡改页面请求参数的方法和系统 | |
CN110008657B (zh) | 一种保护网页代码的方法、存储介质、电子设备和系统 | |
KR20190049177A (ko) | 웹브라우저를 이용한 fido 인증방법 및 그 장치 | |
CN111835783B (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |