一种对文件进行管控的方法及装置
技术领域
本发明涉及通信网络技术领域,尤其涉及一种对文件进行管控的方法及装置。
背景技术
在通信网络技术领域,可以采用加密的方法对文件进行管理控制,即终端用户可以随意打开未加密的文件,而打开加密文件时则受到限制。目前,对文件加密成为保护文件的主要保密措施,也是最常用的安全保密手段之一。具体的,可以采用应用软件对部分文件或者整个文件夹进行手动加密。其中,采用应用软件对部分文件或者整个文件夹进行加密时采用的加密技术主要包括以下两种:第一,应用软件依靠系统的隐藏机制或者漏洞对部分文件或者整个文件夹进行加密处理,而不对部分文件或者整个文件夹进行数据加密处理;第二,应用软件采用不同的算法对文件或者整个文件夹进行数据更改加密。
然而,采用现有技术对文件进行手动加密时,操作复杂且安全性差。
发明内容
本发明的实施例提供一种对文件进行管控的方法及装置,可以实现自动对文件进行加密,使得用户打开所述加密文件时不受限制,限制打开未加密文件,并且操作简便、安全性高。
一方面,本发明的实施例提供一种对文件进行管控的方法,包括:
在文件系统层对用户创建的文件进行属性设置,获得属性设置文件,所述属性设置文件为对用户创建的文件进行属性设置后获得的文件;
在文件系统层对所述属性设置文件进行加密处理,获得加密文件,当在文件系统层打开所述加密文件时不受加密限制。
在本发明另一实施例中,所述在文件系统层对所述属性设置文件进行加密处理,获得加密文件包括:
在文件系统层打开所述属性设置文件;
读取所述属性设置文件的文件数据,根据所述属性设置文件的文件数据得到加密数据和所述属性设置文件的文件长度的数据;
将所述加密数据和所述属性设置文件的文件长度的数据写入所述属性设置文件的文件末尾,获得加密文件,所述加密数据用于判断是否为加密文件。
所述属性设置文件的文件长度采用一个固定字节表示。
另一方面,本发明实施例提供一种对文件进行管控的方法,包括:
在文件系统层打开终端中的文件时,判断所述文件是否为加密文件,所述文件为所述终端中的任一文件;
当所述文件为加密文件,对所述文件进行校验,校验通过,打开所述文件;
当所述文件不是加密文件时,关闭所述文件。
在本发明另一实施例中,所述对所述文件进行校验,校验通过,打开所述文件包括:
读取所述文件的文件数据;
计算所述文件的文件数据,得到所述文件的加密数据;
判断所述文件的加密数据与所述文件中保存的加密数据是否一致;
当所述文件的加密数据与所述文件中保存的加密数据一致时,则确定所述文件为加密文件。
在本发明另一实施例中,所述读取所述文件的文件数据,计算所述文件的文件数据,得到所述文件的加密数据包括:
在所述文件的文件数据中提取所述原始文件的文件数据,并计算所述原始文件的文件数据,得到加密数据。
另一方面,本发明的实施例提供一种对文件进行管控的装置,包括:
属性设置模块,用于在文件系统层对用户创建的文件进行属性设置,获得属性设置文件,所述属性设置文件为对用户创建的文件进行属性设置后获得的文件;
加密模块,用于在文件系统层对所述属性设置文件进行加密处理,获得加密文件,当在文件系统层打开所述加密文件时不受加密限制的文件。
在本发明的另一实施例中,所述装置中的加密模块包括:
打开单元,用于在文件系统层打开所述属性设置文件;
计算单元,用于读取所述属性设置文件的文件数据,根据所述属性设置文件的文件数据得到加密数据和所述属性设置文件的文件长度的数据;
加密单元,用于将所述加密数据和所述属性设置文件的文件长度的数据写入所述属性设置文件的文件末尾,获得加密文件,所述加密数据用于判断是否为加密文件。
所述属性设置文件的文件长度采用一个固定字节表示。
另一方面,本发明的实施例提供一种对文件进行管控的装置,包括:
判断模块,用于在文件系统层打开终端中的文件时,判断所述文件是否为加密文件,所述文件为所述终端中的任一文件;
校验模块,用于当所述文件为加密文件,对所述文件进行校验,校验通过,打开所述文件;
关闭模块,用于当所述文件不是加密文件时,关闭所述文件。
在本发明的另一实施例中,所述装置中的校验模块,包括:
处理单元,用于读取所述文件的文件数据,计算所述文件的文件数据,得到所述文件的加密数据;
判断单元,用于判断所述文件的加密数据与所述文件中保存的加密数据是否一致;
打开单元,用于当所述文件的加密数据与所述文件中保存的加密数据一致时,则打开所述文件。
在本发明的另一实施例中,所述装置中校验模块的处理单元,具体用于在所述文件的文件数据中提取所述原始文件的文件数据,并计算所述原始文件的文件数据,得到加密数据,所述文件的文件数据包括所述原始文件的文件数据、加密数据、所述原始文件的文件长度的数据。
本发明实施例提供一种对文件进行管控的方法及装置,通过终端在文件系统层对用户创建的文件进行属性设置,获得属性设置文件,在文件系统层对所述属性设置文件进行加密处理,获得加密文件。与现有技术中采用对文件进行手动加密时,加密后的文件必须用密码才能打开,操作复杂且安全性差相比,本发明实施例可以实现自动对文件进行加密处理的目的,并且安全可靠。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例1提供的一种对文件进行管控的方法的流程图;
图2为本发明实施例1提供的另一种对文件进行管控的方法的流程图;
图3为本发明实施例2提供的一种对文件进行管控的方法的流程图;
图4为本发明实施例2提供的一种对文件进行校验,校验通过,打开所述文件的流程图;
图5为本发明实施例2提供的一种对文件进行管控的方法的流程图;
图6为本发明实施例2提供的一种对属性设置文件进行加密处理后获得加密文件的流程图;
图7为本发明实施例3提供的一种对文件进行管控的装置的框图;
图8为本发明实施例3提供的另一种对文件进行管控的装置的框图;
图9为本发明实施例3提供的另一种对文件进行管控的装置的框图;
图10为本发明实施例3提供的另一种对文件进行管控的装置的框图;
图11为本发明实施例4提供的一种对文件进行管控的终端的框图;
图12为本发明实施例4提供的另一种对文件进行管控的终端的框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例1
如图1所示,本发明实施例提供一种对文件进行管控的方法的流程图,该方法的执行主体为终端,其中,该终端可以为手机、平板电脑、笔记本电脑等。该方法包括以下步骤:
步骤101,在文件系统层对用户创建的文件进行属性设置,获得属性设置文件,所述属性设置文件为对用户创建的文件进行属性设置后获得的文件;
用户创建的文件是指在终端的应用模块中创建的文件,比如用户通过编辑文本、拍照、摄像、录音等应用模块创建的文件,这些文件保存在终端内置存储设备中;而通过下载或者从其他终端上拷贝过来的文件都不属于用户创建的文件,这些文件保存在终端外置存储设备中。
终端对所述用户创建的文件进行属性设置,一般将用户创建的文件的属性设置为与除所述用户创建的文件之外的文件不同的属性,例如可以将用户创建的文件的属性设置为“用户新创建”或者“用户创建”。
当文件的属性为“用户新创建”或者“用户创建”时,则此文件为本实施例中的属性设置文件。
步骤102,在文件系统层对所述属性设置文件进行加密处理,获得加密文件,当在文件系统层打开所述加密文件时不受加密限制。
通常采用应用软件在应用层对文件进行加密处理,这种加密方式是手动加密处理,操作复杂而且安全性差。由于对文件访问时都需要文件系统来操作,终端能够在文件系统层对所述文件进行完全监控,因此可以将加密机制嵌入在文件系统层中,本发明实施例中通过在文件系统层对文件进行加密处理,使得终端中所有用户创建的文件在文件系统层能够自动加密。
进一步的,在本步骤中在文件系统层对属性设置文件进行加密处理,获得加密文件可以采用以下方式:在文件系统层打开所述属性设置文件;读取所述属性设置文件的文件数据,根据所述属性设置文件的文件数据得到加密数据和所述属性设置文件的文件长度的数据;将所述加密数据和所述属性设置文件的文件长度的数据写入所述属性设置文件的文件末尾,获得加密文件,所述加密数据用于判断是否为加密文件。
本发明实施例提供一种通过对文件进行管控的方法,在文件系统层对用户创建的文件进行属性设置,获得属性设置文件,然后在文件系统层对所述属性设置文件进行加密处理,获得加密文件,使得本实施例可以实现自动对进行属性设置的用户创建的文件进行加密,并且操作简便、安全性高。
如图2所示,本发明实施例提供另一种对文件进行管控的方法的流程图,该方法的执行主体为终端,其中,该终端可以为手机、平板电脑、笔记本电脑等。该方法包括以下步骤:
步骤201,在文件系统层打开终端中的文件时,判断所述文件是否为加密文件,所述文件为所述终端中的任一文件;
在本实施例中,所述加密文件为在文件系统层对属性设置文件进行加密处理之后获得的文件;所述属性设置文件为对用户创建的文件进行属性设置后获得的文件。
其中,所述文件可以为加密文件,也可以为未加密文件。加密文件包括:用户通过编辑文本、拍照、摄像、录音等应用模块创建的文件,或者运营商自己加密的文件等。未加密文件包括:通过下载或者从其他终端上拷贝过来的文件等。
在本步骤中,通过文件的文件数据结构判断文件是否为加密文件,即当文件的文件数据包括所述原始文件的文件数据、加密数据、所述原始文件的文件长度的数据时,则说明该文件为加密文件。当文件的文件数据仅包括原始文件的文件数据时,则说明该文件为未加密文件。其中,原始文件为所述文件加密之前的文件。
步骤202,当所述文件为加密文件,对所述文件进行校验,校验通过,打开所述文件;
在本发明的实施例中,可以采用信息-摘要算法(Message-DigestAlgorithm5,MD5算法)进行校验。当校验通过,可以打开所述文件时,说明所述文件为用户创建的文件,或者所述文件是终端内置存储设备中的文件。其中,终端内置存储设备中的文件可以为运营商自己加密的文件,用户之前创建并经过加密处理之后的文件。
步骤203,当所述文件不是加密文件时,关闭所述文件。
当校验未通过时,说明该文件不是加密文件,即该文件属于终端外置存储设备中的文件。终端外置存储设备中的文件可以为通过下载或者从其他终端上拷贝过来的文件等。进一步的,当校验未通过时,终端会提示打开失败的错误信息,并进行显示。
本发明实施例提供一种通过对文件进行管控的方法,通过在文件系统层打开终端中的文件时,判断所述文件是否为加密文件,当所述文件为加密文件,对所述文件进行校验,校验通过,打开所述文件,当所述文件不是加密文件时,关闭所述文件,使得本实施例可以实现对文件的管控,即用户打开所述加密文件时不受限制,限制打开未加密文件。
实施例2
如图3所示,本发明实施例提供一种对文件进行管控的方法的流程图,该方法包括以下步骤:
步骤301,打开终端中的文件时,终端中的文件系统层调用所述文件系统层的打开文件函数接口;
在本实施例中,终端可以为手机、平板电脑、笔记本电脑等。
文件系统层一般都会提供文件操作的应用编程接口(ApplicationProgrammingInterface,API),应用编程接口可以包括打开文件函数接口与关闭文件函数接口等。其中,在文件系统层中的打开文件函数接口可以为fs_open(constchar*fname,constchar*mode),其中,fname表示文件路径及文件名;mode表示打开方式,打开方式可以为只读、读写或其他;在打开文件时,应用fs_open(constchar*fname,constchar*mode)之后,得到一个返回值,当打开该文件时返回该文件的句柄,该文件的句柄为返回值。其中,句柄为由系统所管理的引用标识,该标识可以被系统重新定位到一个内存地址上;当不能打开该文件时返回无效值NULL。
关闭文件函数接口可以为fs_close(FILE*stream),其中,stream表示将要关闭的文件的句柄。
在本步骤中,所述文件为所述终端中的任一文件。所述文件在打开或者创建时都会访问文件系统,调用文件系统层的打开文件函数接口,并通过打开文件函数接口执行正常的文件打开操作。
步骤302,判断所述文件是否为加密文件;
在本步骤中,判断所述文件是否为加密文件时,可以根据加密文件的文件数据结构进行判断。在本实施例中,当所述文件的文件数据包括所述原始文件的文件数据、加密数据、所述原始文件的文件长度的数据三部分数据时,则说明该文件为加密文件。则当所述文件的文件数据仅包括原始文件的文件数据时,则说明该文件为未加密文件。其中,原始文件为所述文件加密之前的文件。
步骤303,当所述文件为加密文件时,对所述文件进行校验,校验通过,打开所述文件;
具体的,如图4所示,在文件系统层对所述文件进行校验,校验通过,打开所述文件的流程包括以下步骤:
步骤401,读取所述文件的文件数据,计算所述文件的文件数据,得到所述文件的加密数据;
在所述文件的文件数据中提取所述原始文件的文件数据,并计算所述原始文件的文件数据,得到加密数据,即读取所述文件的文件数据,所述文件的文件数据包括所述原始文件的文件数据、加密数据、所述原始文件的文件长度的数据。然后,根据所述文件的文件数据中包括的原始文件的文件长度的数据,在所述文件的文件数据中提取原始文件的文件数据,并采用加密算法对所述原始文件的文件数据进行计算,得到加密数据,例如,可以采用MD5算法对所述原始文件的文件数据进行计算,得到加密数据。需要说明的是,本发明实施例不限制对原始文件的文件数据进行计算获得加密数据时采用的加密算法。
所述原始文件的文件长度采用一个固定字节表示,例如,可以以8个字节表示原始文件的文件长度。
步骤402,判断所述文件的加密数据与所述文件中保存的加密数据是否一致;
所述文件中保存的加密数据即为对原始文件进行加密处理时,对原始文件的文件数据采用加密算法计算后得到的加密数据。
步骤403,当所述文件的加密数据与所述文件中保存的加密数据一致时,则打开所述文件。
进一步的,当可以打开所述文件时,说明所述文件为用户创建的文件,或者所述文件是终端内置存储设备中的文件,终端内置存储设备中的文件可以为运营商自己加密的文件,用户之前创建的并经过加密处理之后的文件。
需要说明的是,步骤401-步骤403的操作方法是在文件系统层对所述文件进行校验,校验通过,打开所述文件的步骤,在对所述文件进行校验,校验通过,打开所述文件之后,进行执行步骤304。
步骤304,当所述文件不是加密文件时,关闭所述文件。
在文件系统层打开终端中的文件时,通过对所述文件的文件数据结构进行判断后,此时所述文件的文件数据仅包括所述文件的原始文件数据,则所述文件不是加密文件,然后关闭所述文件。终端显示屏会提示打开失败的错误信息。这些不能打开的文件一般存储在终端外置存储设备中,例如通过下载或者从其他终端上拷贝过来的文件。
通过步骤303与步骤304,可以实现对终端的文件的管控,即当在文件系统层打开所述加密文件时不受加密限制,而对在文件系统层打开未加密文件时进行限制。
本发明实施例提供一种通过对文件进行管控的方法,通过打开终端中的任一文件,对所述文件在文件系统层进行校验,当所述文件进行校验通过时,打开所述文件;当所述文件进行校验未通过时,关闭所述文件,使得本实施例可以实现对文件的管控,即用户打开所述加密文件时不受限制,限制打开未加密文件。
如图5所示,本发明实施例提供另一种对文件进行管控的方法的流程图,该方法包括以下步骤:
步骤501,当对文件进行加密时,终端中的文件系统层调用所述文件系统层的打开文件函数接口;
在本实施例中,终端可以为手机、平板电脑、笔记本电脑等。
在本步骤中,终端中的所有文件在打开或者创建时都会访问文件系统,并调用文件系统层的打开文件函数接口,通过打开文件函数接口执行正常的文件打开操作。其中,在文件系统层中的打开文件函数接口可以为fs_open(constchar*fname,constchar*mode),其中,fname表示文件路径及文件名;mode表示打开方式,打开方式可以为只读、读写或其他;在打开文件时,应用fs_open(constchar*fname,constchar*mode)之后,得到一个返回值,当打开该文件时返回该文件的句柄,该文件的句柄为返回值。其中,句柄为由系统所管理的引用标识,该标识可以被系统重新定位到一个内存地址上;当不能打开该文件时返回无效值NULL。
在本实施例中,用户在应用层关闭所述文件时对文件进行加密处理,此时,在文件系统层对即将关闭的文件调用文件系统层的打开文件函数接口对所述文件执行加密处理。
步骤502,在文件系统层打开终端中的文件,判断所述文件是否为用户创建的文件;
具体的,对所述文件是否为用户创建的文件判断如下:
第一:判断所述文件是否在终端中存在;
当判断所述文件是否为用户创建的文件时,可以通过在终端内置存储设备或者终端外置存储设备中查找是否存在所述文件。当在终端内置存储设备或者终端外置存储设备中没有查找到所述文件时,则说明所述文件为用户创建的文件;当在终端内置存储设备或者终端外置存储设备中查找到所述文件时,则说明所述文件为用户之前创建的并经过加密处理之后的文件或者为运营商提供的加密文件。
第二:当所述文件在所述终端中不存在时,判断所述文件系统层是否接收到创建所述文件的文件参数;
当用户创建文件时,创建文件的应用模块会生成创建文件的参数,并将此参数发送给文件系统层,则当用户打开所述文件时,可以确定所述文件为用户创建的文件。
步骤503,当所述文件为所述用户创建的文件时,所述文件系统层对所述文件进行属性设置,获得属性设置文件;
所述属性设置文件为对用户创建的文件进行属性设置后获得的文件。文件系统层具有设置属性功能,能够对用户创建的文件进行属性设置。在本实施例中,将用户创建的文件的属性设置为与除所述用户创建的文件之外的文件不同的属性,例如,将用户创建的文件的属性设置为“用户新创建”,或者“用户创建”,当然,还可以将用户创建的文件的属性设置为其他的属性,本实施例并不限制如何设置用户创建的文件的属性。
步骤504,对所述属性设置文件在文件系统层进行加密处理,获得加密文件;
具体的,如图6所示,对所述属性设置文件进行加密处理后获得加密文件的步骤如下。
步骤601,读取所述属性设置文件的文件数据,根据所述属性设置文件的文件数据得到加密数据和所述属性设置文件的文件长度的数据;
可选的,对所述属性设置文件的文件数据通过加密算法得到加密数据,例如,可以采用MD5算法对所述属性设置文件的文件数据进行计算,得到加密数据。需要说明的是,本发明实施例不限制对属性设置文件的文件数据进行计算,得到加密数据时采用的加密算法。
步骤602,将所述加密数据和所述属性设置文件的文件长度的数据写入所述属性设置文件的文件末尾,获得加密文件,所述加密数据用于判断是否为加密文件。
所述加密文件的文件数据包括所述属性设置文件的文件数据、加密数据、所述属性设置文件的文件长度的数据,其中,所述属性设置文件可以理解为原始文件。记录所述属性设置文件的文件长度的数据的目的为便于在打开所述加密文件时,对所述加密文件进行校验。例如,可以通过记录的属性设置文件的文件长度来获得所述加密文件的原始文件数据,再对原始文件数据进行计算得到加密数据,校验加密文件中保存的加密数据与所述计算得到的加密数据是否一致。
需要说明的是,步骤601-步骤602的操作方法是对所述属性设置文件进行加密处理后获得加密文件的步骤。在获得加密文件之后,继续执行步骤505。
步骤505,在进行加密处理之后,文件系统层调用文件系统层的关闭文件函数接口。
关闭文件函数接口可以为fs_close(FILE*stream),其中,stream表示将要关闭的文件的句柄。所述终端中的所有文件在关闭时都会访问文件系统,并调用文件系统层的关闭文件函数接口,通过关闭文件函数接口执行正常的文件关闭操作。
步骤506,当所述文件不是所述用户创建的文件时,执行附图3的步骤302-步骤304;
本发明实施例提供一种通过对文件进行管控的方法,在文件系统层对用户创建的文件进行属性设置,获得属性设置文件,然后在文件系统层对所述属性设置文件进行加密处理,获得加密文件,使得本实施例可以实现自动对进行属性设置的用户创建的文件进行加密,并且操作简便、安全性高。
实施例3
如图7所示,本发明实施例提供一种对文件进行管控的装置,包括:属性设置模块701,加密模块702,所述装置可以设置在终端。该终端可以为手机、平板电脑、笔记本电脑、台式电脑等。
属性设置模块701,用于在文件系统层对用户创建的文件进行属性设置,获得属性设置文件,所述属性设置文件为对用户创建的文件进行属性设置后获得的文件。
加密模块702在文件系统层对进行属性设置之后的属性设置文件进行加密处理,获得加密文件,当在文件系统层打开所述加密文件时不受加密限制的文件。
进一步的,如图8所示,加密模块702包括:打开单元7021,计算单元7022,加密单元7023;
打开单元7021,用于在文件系统层打开所述属性设置文件;
在打开所述属性设置文件之后,计算单元7022,用于读取所述属性设置文件的文件数据,根据所述属性设置文件的文件数据得到加密数据和所述属性设置文件的文件长度的数据;
在得到加密数据和所述属性设置文件的文件长度的数据之后,加密单元7023将所述加密数据和所述属性设置文件的文件长度写入所述属性设置文件的文件末尾,获得加密文件,所述加密数据用于判断是否为加密文件。
所述属性设置文件的文件长度采用一个固定字节表示,例如采用8个字节表示属性设置文件的文件长度。
本发明实施例提供一种对文件管控的装置,通过文件系统层对用户创建的文件进行属性设置,并对经过属性设置的文件可以进行自动加密,操作简便、安全性高,并且具有保密限制的作用。
如图9所示,本发明实施例提供另一种对文件进行管控的装置,包括:判断模块901,校验模块902,关闭模块903;所述装置可以设置在终端,该终端可以为手机、平板电脑、笔记本电脑、台式电脑等。
判断模块901,用于在文件系统层打开终端中的文件时,判断所述文件是否为加密文件,所述文件为所述终端中的任一文件;
判断所述文件是否为加密文件时,可以根据加密文件的文件数据结构进行判断。当所述文件的文件数据包括所述原始文件的文件数据、加密数据、所述原始文件的文件长度的数据三部分数据时,则说明该文件为加密文件。则当所述文件的文件数据仅包括原始文件的文件数据时,则说明该文件为未加密文件。其中,原始文件为所述文件加密之前的文件。
当所述文件为加密文件,校验模块902开始对所述文件进行校验,校验通过,打开所述文件;
当所述文件不是加密文件时,关闭模块903,用于关闭所述文件。
进一步的,如图10所示,该装置中校验模块902包括:处理单元9021,判断单元9022,打开单元9023。
处理单元9021,用于读取所述文件的文件数据,计算所述文件的文件数据,得到所述文件的加密数据;
所述处理单元9021具体用于在所述文件的文件数据中提取所述原始文件的文件数据,并计算所述原始文件的文件数据,得到加密数据,所述文件的文件数据包括所述原始文件的文件数据、加密数据、所述原始文件的文件长度的数据。
即所述处理单元9021根据所述文件的文件数据中包括的原始文件的文件长度的数据,在所述文件的文件数据中提取原始文件的文件数据,并采用加密算法对所述原始文件的文件数据进行计算,得到加密数据,例如,可以采用MD5算法对所述原始文件的文件数据进行计算,得到加密数据。需要说明的是,本发明实施例不限制对原始文件的文件数据进行计算获得加密数据时采用的加密算法。
在得到所述文件的加密数据之后,判断单元9022,用于判断所述文件的加密数据与所述文件中保存的加密数据是否一致;
所述文件中保存的加密数据即为对原始文件进行加密处理时,对原始文件的文件数据采用加密算法计算后得到的加密数据。
当所述文件的加密数据与所述文件中保存的加密数据一致时,打开单元9023,打开所述文件。
进一步的,当可以打开所述文件时,说明所述文件为用户创建的文件,或者所述文件是终端内置存储设备中的文件,终端内置存储设备中的文件可以为运营商自己加密的文件,用户之前创建的并经过加密处理之后的文件。
本发明实施例提供一种对文件管控的装置,通过在文件系统层打开终端中的文件时,判断所述文件是否为加密文件,当所述文件为加密文件,对所述文件进行校验,校验通过,打开所述文件,当所述文件不是加密文件时,关闭所述文件,使得本实施例可以实现用户打开所述加密文件时不受限制,限制打开未加密文件。为用户提供一种文件限制,防止用户浏览外界其他不良信息的机制;用户只能在终端中查看、编辑加密文件,也为运营商提供了一种自我保护的机制。
需要说明的是,对文件进行管控的装置可以为另一装置,此装置可以包括附图7-附图10中所有的装置。
实施例4
如图11所示,本发明实施例提供一种对文件进行管控的装置,包括:处理器1101,打开文件函数接口1102,存储器1103,关闭文件函数接口1104;所述装置可以设置在终端,该终端可以为手机、平板电脑、笔记本电脑、台式电脑等。
当所述文件为用户创建的文件时,处理器1101,用于终端对用户创建的文件进行属性设置,获得属性设置文件。
对进行属性设置之后的属性设置文件,处理器1101在文件系统层进行加密处理,获得加密文件,当在文件系统层打开所述加密文件时不受加密限制。
进一步的,当创建文件时,调用所述文件系统层的打开文件函数接口1102;
文件系统层一般都会提供文件操作的API,API可以包括打开文件函数接口与关闭文件函数接口等。其中,在文件系统层中的打开文件函数接口1102可以为fs_open(constchar*fname,constchar*mode),其中,fname表示文件路径及文件名;mode表示打开方式,打开方式可以为只读、读写或其他;在打开文件时,应用fs_open(constchar*fname,constchar*mode)之后,得到一个返回值,当打开该文件时返回该文件的句柄,该文件的句柄为返回值。其中,句柄为由系统所管理的引用标识,该标识可以被系统重新定位到一个内存地址上;当不能打开该文件时返回无效值NULL。
在调用文件系统层的打开文件函数接口1103之后,处理器1101还用于读取所述属性设置文件的文件数据,根据所述属性设置文件的文件数据得到加密数据和所述属性设置文件的文件长度的数据;
可选的,对所述属性设置文件的文件数据通过加密算法得到加密数据,例如,可以采用MD5算法对所述属性设置文件的文件数据进行计算,得到加密数据。需要说明的是,本发明实施例不限制对属性设置文件的文件数据进行计算,得到加密数据时采用的加密算法。
在得到加密数据和所述属性设置文件的文件长度的数据之后,处理器1101还用于将所述加密数据和所述属性设置文件的文件长度写入所述属性设置文件的文件末尾,获得加密文件,所述加密数据用于判断是否为加密文件。
所述加密文件的文件数据包括所述属性设置文件的文件数据、加密数据、所述属性设置文件的文件长度的数据,其中,所述属性设置文件可以理解为原始文件。记录所述属性设置文件的文件长度的数据的目的为便于在打开所述加密文件时,对所述加密文件进行校验。例如,可以通过记录的属性设置文件的文件长度来获得所述加密文件的原始文件数据,再对原始文件数据进行计算得到加密数据,校验加密文件中保存的加密数据与所述计算得到的加密数据是否一致。
所述属性设置文件的文件长度采用一个固定字节表示。
进一步的,当处理器1101获得加密文件后,将所述加密文件保存的存储器1103中,然后终端调用文件系统层的关闭文件函数接口1104,关闭所述加密文件;关闭文件函数接口1104可以为fs_close(FILE*stream),其中,stream表示将要关闭的文件的句柄。
本发明实施例提供一种对文件管控的装置,通过文件系统层对用户创建的文件进行属性设置,并对经过属性设置的文件可以进行自动加密,操作简便、安全性高,并且具有保密限制的作用。
如图12所示,本发明实施例提供另一种对文件进行管控的装置,包括:打开文件函数接口1201,处理器1202,存储器1203,关闭文件函数接口1204;所述装置可以设置在终端。该终端可以为手机、平板电脑、笔记本电脑、台式电脑等。
当打开任一文件时,调用所述文件系统层的打开文件函数接口1201;
文件系统层一般都会提供文件操作的API,API可以包括打开文件函数接口与关闭文件函数接口等。其中,在文件系统层中的打开文件函数接口可以为fs_open(constchar*fname,constchar*mode),其中,fname表示文件路径及文件名;mode表示打开方式,打开方式可以为只读、读写或其他;在打开文件时,应用fs_open(constchar*fname,constchar*mode)之后,得到一个返回值,当打开该文件时返回该文件的句柄,该文件的句柄为返回值。其中,句柄为由系统所管理的引用标识,该标识可以被系统重新定位到一个内存地址上;当不能打开该文件时返回无效值NULL。
在调用文件系统层的打开文件函数接口1201之后,处理器1201用于判断所述文件是否为加密文件,所述文件为所述终端中的任一文件。
加密文件包括:用户通过编辑文本、拍照、摄像、录音等应用模块创建的文件,或者运营商自己加密的文件等终端内置存储设备中的文件。未加密文件包括:通过下载或者从其他终端上拷贝过来的文件等终端外置存储设备中的文件。
其中,所述文件保存在存储器1203中。
所述文件包括加密文件和未加密文件。其中加密文件包括:用户通过编辑文本、拍照、摄像、录音等应用模块创建的文件,或者运营商自己加密的文件等终端内置存储设备中的文件。未加密文件包括:通过下载或者从其他终端上拷贝过来的文件等终端外置存储设备中的文件。具体的,所述加密文件在文件系统层对属性设置文件进行加密处理之后,获得的文件;所述属性设置文件为对用户创建的文件进行属性设置后获得的文件。
进一步的,处理器1202还用于当所述文件为加密文件,对所述文件进行校验,校验通过,打开所述文件;
在所述文件进行校验,检验通过,打开所述文件时,处理器1202具体用于读取所述文件的文件数据,计算所述文件的文件数据,得到所述文件的加密数据;
即所述处理单元1202根据所述文件的文件数据中包括的原始文件的文件长度的数据,在所述文件的文件数据中提取原始文件的文件数据,并采用加密算法对所述原始文件的文件数据进行计算,得到加密数据,例如,可以采用MD5算法对所述原始文件的文件数据进行计算,得到加密数据。需要说明的是,本发明实施例不限制对原始文件的文件数据进行计算获得加密数据时采用的加密算法。
在得到所述文件的加密数据之后,处理器1202还用于判断所述文件的加密数据与所述文件中保存的加密数据是否一致;
所述文件中保存的加密数据即为对原始文件进行加密处理时,对原始文件的文件数据采用加密算法计算后得到的加密数据。例如,处理器1202可以采用MD5算法对所述文件进行数据校验,判断所述文件的加密数据与所述文件中保存的加密数据是否一致;
在所述文件的加密数据与所述文件中保存的加密数据一致时,校验通过;
进一步的,当校验通过时,可以打开所述文件,说明所述文件为用户创建的文件,或者所述文件是终端内置存储设备中的文件,终端内置存储设备中的文件可以为运营商自己加密的文件,用户之前创建的并经过加密处理之后的文件;
当所述文件不是加密文件时,关闭文件函数接口1204关闭所述文件。关闭文件函数接口可以为fs_close(FILE*stream),其中,stream表示将要关闭的文件的句柄。
当所述文件校验未通过时,所述文件的文件数据仅包括所述文件的原始文件数据,则所述文件不是加密文件。关闭文件函数接口1204在文件系统层关闭所述文件,并且处理器1202返回错误信息。此错误信息可以由终端显示屏进行显示,这些不能打开的文件一般存储在终端外置存储设备中,例如通过下载或者从其他终端上拷贝过来的文件。
本发明实施例提供一种对文件管控的装置,通过在文件系统层打开终端中的文件时,判断所述文件是否为加密文件,当所述文件为加密文件,对所述文件进行校验,校验通过,打开所述文件,当所述文件不是加密文件时,关闭所述文件,使得本实施例可以实现用户打开所述加密文件时不受限制,限制打开未加密文件。为用户提供一种文件限制,防止用户浏览外界其他不良信息的机制;用户只能在终端中查看、编辑加密文件,也为运营商提供了一种自我保护的机制。
需要说明的是,对文件进行管控的装置可以为另一装置,此装置可以包括附图11-附图12中所有的装置。
需要说明的是,以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到本发明可借助软件加必需的通用硬件的方式来实现,当然也可以通过专用硬件包括专用集成电路、专用CPU、专用存储器、专用元器件等来实现,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在可读取的存储介质中,如计算机的软盘,U盘、移动硬盘、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,RandomAccessMemory)、磁碟或者光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置和系统实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。