文件保护方法、装置、计算机设备及存储介质与流程

文档序号:16630919发布日期:2019-01-16 06:33阅读:180来源:国知局
文件保护方法、装置、计算机设备及存储介质与流程

本发明涉及计算机技术领域,尤其涉及一种文件保护方法、装置、计算机设备及存储介质。



背景技术:

随着互联网时代的发展,利用通信网络进行传输数据,不仅节省了时间,同时也提高了工作效率,但是网络给人们带来便利的同时,网络安全问题也一直困扰着我们,为了工作内容和个人隐私不被他人窃取,通常需要对使用的文件进行加密处理,而加密过后的文件就能够有效地防止有用或私有化信息在网络上被拦截和窃取,提高文件的安全性。

在实际的工作中,使用明文的方式进行存储的图片或者视频存在一定的安全隐患,图片和视频如果出现泄漏可能会造成较大的损失,因此针对重要图文信息进行特殊加密非常有必要,但是,现有的加密算法一般是针对文本或者字符串进行加密的,例如,md5(messagedigestalgorithmmd5,消息摘要算法)、aes(advancedencryptionstandard,高级加密标准)或者sha(securehashalgorithm,安全散列算法)等加密算法,如果使用md5、aes或者sha等加密算法对图片或视频加密,加密和解密的运算量大,加密后得到的文件的也会比加密前的文件的占用内存大很多,并且在需要加密的图片或视频较多的情况下,不利于文件的存储和传输。



技术实现要素:

本发明实施例提供一种文件保护方法、装置、计算机设备及存储介质,以解决目前针对视频或者图片进行加密后得到的加密文件占用的内存空间较大的问题。

一种文件保护方法,包括:

接收待加密文件;

随机生成与所述待加密文件对应的加密信息,其中,所述加密信息包括随机干扰位数、随机干扰数和预设长度的加密密钥;

使用所述加密密钥对所述待加密文件的文件内容进行加密,得到加密内容;

根据所述加密信息和所述加密内容,按照加密文件中预设的排列组合方式,将所述随机干扰位数和所述随机干扰数添加在所述加密文件的第一预设位置中,将所述加密密钥添加在所述加密文件的第二预设位置中,将所述加密内容添加在所述加密文件的第三预设位置中,并在所述加密文件的预设的加密标识位中添加预设的加密标识,得到加密文件。

一种文件保护装置,包括:

待加密文件接收模块,用于接收待加密文件;

加密信息生成模块,用于随机生成与所述待加密文件对应的加密信息,其中,所述加密信息包括随机干扰位数、随机干扰数和预设长度的加密密钥;

文件内容加密模块,用于使用所述加密密钥对所述待加密文件的文件内容进行加密,得到加密内容;

加密文件生成模块,用于根据所述加密信息和所述加密内容,按照加密文件中预设的排列组合方式,将所述随机干扰位数和所述随机干扰数添加在所述加密文件的第一预设位置中,将所述加密密钥添加在所述加密文件的第二预设位置中,将所述加密内容添加在所述加密文件的第三预设位置中,并在所述加密文件的预设的加密标识位中添加预设的加密标识,得到加密文件。

一种计算机设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述文件保护方法的步骤。

一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述文件保护方法的步骤。

上述文件保护方法、装置、计算机设备及存储介质,通过接收待加密文件,随机生成与待加密文件对应的加密信息,随机生成的加密信息包括随机干扰位数、随机干扰数和预设长度的加密密钥,增强了加密信息的随机性,提高加密信息的安全性,再使用加密密钥对待加密文件的文件内容进行加密,得到加密内容,将加密信息与加密内容按照预设的排列组合方式组合,并在预设的加密标识位增添预设的加密标识,从而得到加密文件,通过对文件的内容进行加密运算和错位处理,实现对待加密文件内容的保护,并且由于加密算法比较简便,运算快捷,在保证文件存储安全性的同时,能够有效地减小加密文件的内存占用空间。

附图说明

为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例的描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。

图1是本发明一实施例中文件保护方法的一应用环境示意图;

图2是本发明一实施例中文件保护方法的一流程图;

图3是本发明一实施例中文件保护方法中获取待加密文件的一流程图;

图4是本发明一实施例中文件保护方法中步骤s2的一流程图;

图5是本发明一实施例中文件保护方法中对待解密文件进行解密的一具体流程图;

图6是本发明一实施例中文件保护方法中步骤s7的一流程图;

图7是本发明一实施例中文件保护装置的一原理框图;

图8是本发明一实施例中计算机设备的一示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

本申请提供的文件保护方法,可应用在如图1的应用环境中,该应用环境包括服务端和客户端,其中,服务端和客户端之间通过网络进行连接,客户端将待加密文件或者待解密文件发送给服务端,服务端对待加密文件进行加密处理或者对待解密文件进行解密处理,该网络可以是有线网络或者无线网络,客户端具体包括但不限于各种个人计算机、笔记本电脑、智能手机、平板电脑和便携式可穿戴设备,服务端具体可以用独立的服务器或者多个服务器组成的服务器集群实现。

在一实施例中,如图2所示,提供一种文件保护方法,该文件保护方法包括步骤s1至步骤s4,以该方法应用在图1中的服务端为例进行说明,详述如下:

s1:接收待加密文件。

具体地,用户在客户端将待加密文件发送给服务端,服务端通过网络接收待加密文件,该待加密文件的类型具体可以是图像文件、视频文件或者文本文件,待加密文件的格式具体可以是图像文件的gif、jpg或者png等格式,也可以是视频文件的avi、rmvb、wmv或者flv等格式,此处并不限制待加密文件的类型、格式和大小。

s2:随机生成与待加密文件对应的加密信息,其中,加密信息包括随机干扰位数、随机干扰数和预设长度的加密密钥。

在本实施例中,服务端若接收到待加密文件,则使用随机数生成器随机生成与待加密文件对应的加密信息,随机数生成器是用于随机生成随机实数的数据发生器。

在一具体实施例中,随机数生成器可以通过调用random()函数,返回随机生成的一个实数,其中,random()函数是用于生成随机数的函数,例如,random.randint(a,b)表示用于生成a与b之间的一个随机整数的函数,具体生产随机数的范围和类型可以根据实际需要进行设置,此处不做限制。

具体地,服务端随机生成的加密信息包括随机干扰位数、随机干扰数和预设长度的加密密钥,使用随机数生成器生成随机干扰位数n,其中,n为正整数。根据随机生成的随机干扰位数n,使用随机数生成器随机生成与该随机干扰位数对应的随机干扰数。例如,生成的随机干扰位数n为31时,则需要相应的随机生成31位随机干扰数。

可以理解的是,当n越大,文件加密的安全性也越高,但同时加密的时间和文件的大小也会相应增加,一般随机生成30位至60位的随机干扰位数比较合适,但并不限于此,具体的随机干扰位数可以根据实际需要进行设置,此处不做限制。

使用随机数生成器生成预设长度的加密密钥,具体地,加密密钥可以是随机数生成器在预设的随机数范围内随机获取预设长度的随机数,例如,随机获取1000到9999中的任意一个四位数,或者将随机数生成器生成的随机数,与当前加密时间相结合形成一个八位数的加密密钥,或者由用户根据需要进行定制,以便增强加密密钥的随机性,提高加密文件的安全性。

将随机生成的随机干扰位数、随机干扰数和预设长度的加密密钥,作为待加密文件对应的加密信息。

需要说明的是,针对每个待加密文件,均会生成一组与该待加密文件对应的加密信息,该加密信息包括随机干扰位数、随机干扰数和预设长度的加密密钥,每一次加密过程都会随机生成一个随机干扰数和一个加密密钥,即使使用同一个文件进行多次加密,每次生成的随机干扰位数、随机干扰数和加密密钥都是通过随机数生成器随机生成的,从而能够增强加密信息生成的随机性,降低加密文件被破解的可能性。

s3:使用加密密钥对待加密文件的文件内容进行加密,得到加密内容。

具体地,使用加密密钥对待加密文件的文件内容进行加密的具体加密方式可以是使用对称加密算法进行加密,例如,des(dataencrytionstandard,数据加密标准)算法等,将待加密文件的文件内容转换成为密文,从而达到加密效果。

优选地,服务端根据随机生成的加密密钥,将加密密钥与待加密文件的文件内容进行异或运算,使得文件内容转换成为密文,从而得到加密内容。

例如,待加密文件的文件内容为:0x390x780x31ox76,加密密钥为:0xf6,将该待加密文件的文件内容与加密密钥进行异或运算之后,得到的加密内容为:0xcf0x8e0xc7ox80。

可以理解的是,在无法得知加密方式和加密密钥时,该加密内容在正常的读取方式下打开,会显示为乱码,从而提高了对待加密文件的文件内容的安全性。

s4:根据加密信息和加密内容,按照加密文件中预设的排列组合方式,将随机干扰位数和随机干扰数添加在加密文件的第一预设位置中,将加密密钥添加在加密文件的第二预设位置中,将加密内容添加在加密文件的第三预设位置中,并在加密文件的预设的加密标识位中添加预设的加密标识,得到加密文件。

具体地,将步骤s2生成的加密信息以及步骤s3获取的加密内容,按照预设的排列组合方式进行组合。

该预设的排列组合方式具体可以设置为:将随机干扰位数和随机干扰数添加在加密文件的第一预设位置中,将加密密钥添加在加密文件的第二预设位置中,将加密内容添加在加密文件的第三预设位置中。

同时,在预设的加密标识位中增添预设的加密标识,该加密标识可以是预先设置的一个固定标识,例如,该固定标识具体可以设置为“0x190x4e0x1b”等,用于标识该文件已经经过该服务端的加密处理。

其中,第一预设位置、第二预设位置、第三预设位置和预设的加密标识位是指预先在加密文件中设定用于添加对应信息的具体位置,第一预设位置可以排列在加密文件的最左端,或者加密文件的最右端,第二预设位置可以排列在第一预设位置的左端,或者第一预设位置的右端等等,但并不限于此,加密信息、加密内容以及加密标识在加密文件中的具体位置可以根据实际需要进行设置,此处不做限制。

例如,服务端在对待加密文件t进行加密处理后,得到的加密文件的内容为:0x3c0xe10xf10x09....0xa10xb70xcf0x8e0xc7ox800xf60x190x4e0x1b,其中,第一预设位置排列在加密文件的最左端,即数据内容“0x3c0xe10xf10x09....0xa10xb7”对应的位置,“0x3c”为随机干扰位数,是一个十六进制数,转换为十进制数是60,“0xe10xf10x09....0xa10xb7”为60位对应的随机干扰数,第三预设位置排列在第一预设位置的右端,并且在第二预设位置的左端,即数据内容“0xcf0x8e0xc7ox80”对应的位置,“0xcf0x8e0xc7ox80”为加密内容,第二预设位置排列在第三预设位置的右端,并且在预设的加密标识位的左端,即数据内容“0xf6”对应的位置,“0xf6”为加密密钥,预设的加密标识位排列在加密文件的最右端,即数据内容“0x190x4e0x1b”对应的位置,“0x190x4e0x1b”为加密标识。

在本实施例中,通过接收待加密文件,随机生成与待加密文件对应的加密信息,随机生成的加密信息包括随机干扰位数、随机干扰数和预设长度的加密密钥,增强了加密信息的随机性,提高加密信息的安全性,再使用加密密钥对待加密文件的文件内容进行加密,得到加密内容,将加密信息与加密内容按照预设的排列组合方式组合,并在预设的加密标识位增添预设的加密标识,从而得到加密文件,通过对文件的内容进行加密运算和错位处理,实现对待加密文件内容的保护,并且由于加密算法比较简便,运算快捷,在保证文件存储安全性的同时,能够有效地减小加密文件的内存占用空间。

在一实施例中,本实施例提供的文件保护方法可以在接收到用户在客户端上传的待加密文件之后,对待加密文件进行加密处理,还可以自动对预设的目录中的文件进行文件加密处理,详述如下:

如图3所示,在步骤s2之前,该文件保护方法还包括如下步骤:

s10:对预设的文件目录进行监控。

在本实施例中,服务端对预设的文件目录进行监控,实时获取预设的文件目录的文件信息,预设的文件目录是预先设置的一个存储空间,用于存储图像文件、视频文件或者文本文件等文件。

服务端自动对该预设的文件目录中的文件进行加密处理,能够提高该预设的文件目录中的文件的存储安全性,并节省用户对服务端请求加密的时间。

s20:若检测到预设的文件目录中存在新增文件,则将新增文件作为待加密文件。

具体地,服务端若检测有新的文件存储到预设的文件目录中,则确认新增的文件需要对文件进行加密,并将新增文件作为待加密文件,自动对待加密文件进行加密处理。

例如,在统计大量人脸图片的样本数据时,由于人脸图片的重要性,需要对这些文件进行加密保护,用户只需将样本数据存储到预设的文件目录中,服务端就能够自动地对样本数据进行加密,避免每一个需要加密的文件都需要向服务端发起请求加密的指令,提高了文件加密的效率。

在本实施例中,通过对预设的文件目录进行监控,用户只需将需要加密的文件存储到预设的文件目录中,服务端若检测到预设的文件目录中存在新增文件,则将新增文件作为待加密文件,自动地对新增文件进行加密处理,避免每一个需要加密的文件都需要向服务端发起请求加密的指令,提高了文件加密的效率。

在一实施例中,本实施例提供对步骤s2中所提及的随机生成与待加密文件对应的加密信息的具体实现方法进行详细说明。

请参阅图4,图4示出了步骤s2的一具体流程图,详述如下:

s21:判断待加密文件在预设的加密标识位中是否存在预设的加密标识。

具体地,在对待加密文件进行加密处理时,首先判断待加密文件在预设的加密标识位中是否存在预设的加密标识,用于确定该待加密文件是否已经经过服务端的加密处理。

若在待加密文件的预设的加密标识位中获取的内容与预设的加密标识一致,即在预设的加密标识位中存在预设的加密标识,则确认该待加密文件已经经过服务端的加密处理,流程跳转到步骤s22继续执行。

若在待加密文件的预设的加密标识位中获取的内容与预设的加密标识不一致,即在预设的加密标识位中不存在预设的加密标识,则确认该待加密文件未经过服务端的加密处理,流程跳转到步骤s23继续执行。

s22:若在预设的加密标识位中存在预设的加密标识,则输出待加密文件已经加密的提示信息,并暂停对待加密文件的文件加密处理。

具体地,若在预设的加密标识位中存在预设的加密标识,则输出“文件已加密”的提示信息,用于提示用户该待加密文件已经经过加密,并暂停对待加密文件的文件加密处理,流程结束。

s23:若在预设的加密标识位中不存在预设的加密标识,则随机生成加密密钥、随机干扰位数和随机干扰数,其中,随机干扰数的位数与随机干扰位数的数值相同。

具体地,若在预设的加密标识位中不存在预设的加密标识,服务端则使用随机数生成器随机生成预设长度的加密密钥,并且随机生成随机干扰位数n,以及随机生成n位随机干扰数,其中,n为正整数,该加密密钥的长度以及随机干扰数的位数具体可以根据实际应用的需要进行设置,此处不做限制。

s24:将随机干扰位数、随机干扰数和加密密钥作为与待加密文件对应的加密信息。

具体地,将随机干扰位数、随机干扰数和加密密钥作为与待加密文件对应的加密信息,以便能够使用加密信息对待加密文件进行加密处理。

例如,在服务端某一次随机生成的结果中,加密密钥为171f53,随机干扰位数为31,随机干扰数为5r3ev1df4a4fs89f6xsf2g4pyurtd5s,则将随机生成的随机干扰位数、随机干扰数和加密密钥作为与待加密文件对应的加密信息。

在本实施例中,通过判断待加密文件在预设的加密标识位中是否存在预设的加密标识,用于确认待加密文件是否已经经过服务端的加密处理,进一步地,若在预设的加密标识位中存在预设的加密标识,则输出待加密文件已经加密的提示信息,并暂停对待加密文件的文件加密处理,避免对已经经过加密的文件进行二次加密,造成对已加密文件的破坏,若在预设的加密标识位中不存在预设的加密标识,则随机生成加密密钥、随机干扰位数和随机干扰数作为与待加密文件对应的加密信息,用于对待加密文件进行加密处理。

在一实施例中,本实施例提供的文件保护方法可以对待加密文件进行加密处理,在得到加密文件之后,该文件保护方法还可以对待解密文件进行解密处理,详述如下:

如图3所示,在步骤s4之后,该文件保护方法还包括如下步骤:

s5:接收待解密文件和解密授权指令。

具体地,用户在客户端将待解密文件和解密授权指令发送给服务端,服务端通过网络接收待解密文件和解密授权指令,该待解密文件的类型具体可以是图像文件、视频文件或者文本文件,待解密文件的格式具体可以是图像文件的gif、jpg或者png等格式,也可以是视频文件的avi、rmvb、wmv或者flv等格式,此处并不限制待解密文件的类型、格式和大小。

可以理解的是,经过加密的文件是需要进行保护的文件,以免被非法用户窃取,而用户在客户端上传待解密文件给服务端进行解密时,需要同时输入解密授权指令,只有经过服务端授权的用户才有对文件进行解密的权限,而没有权限的用户无法通过服务端对文件进行解密,从而避免非法用户对加密的文件进行解密,提高加密的文件的安全性,其中,解密授权指令可以是用户名和密码,也可以是指纹信息等,此处不做限制。

s6:对解密授权指令进行合法性校验,得到校验结果。

具体地,服务端在接收到解密授权指令之后,在预设的权限数据库中进行检测,校验解密授权指令是否合法,权限数据库是在服务端预先设置用于存储拥有解密权限的用户的解密授权指令的数据库。

进一步地,校验解密授权指令是否合法的具体方式可以使用解密授权指令与预设的权限数据库中存储的解密授权指令进行遍历对比,从而得到校验结果,若检测到权限数据库中存在预设的解密授权指令与用户输入的解密授权指令一致,则确认解密授权指令属于合法指令,若检测到权限数据库中不存在预设的解密授权指令与用户输入的解密授权指令一致,则确认解密授权指令不属于合法指令。

s7:若校验结果为解密授权指令属于合法指令,则对待解密文件进行文件解密处理。

具体地,若校验结果为解密授权指令属于合法指令,则表示用户拥有对文件进行解密的权限,服务端将根据待解密指令,调用文件解密模块对待解密文件进行文件解密处理,其中,文件解密模块是预先封装文件解密算法的模块,能够对经过该服务端加密处理的文件进行解密。

s8:若校验结果为解密授权指令不属于合法指令,则输出第一错误信息,并暂停对待解密文件的文件解密处理。

具体地,若校验结果为解密授权指令属于合法指令,则表示用户没有对文件进行解密的权限,服务端将第一错误信息输出到客户端,例如,第一错误信息可以设置为“您当前无权限进行文件解密操作,请重新确认解密授权指令是否正确”,用于提示用户的权限不足,需要重新输入解密授权指令,同时,暂停对待解密文件的文件解密处理操作,提高文件的安全性。

在本实施例中,通过接收待解密文件和解密授权指令,对解密授权指令进行合法性校验,得到校验结果,用于确认用户是否有权限对文件进行解密处理,进一步地,若校验结果为解密授权指令属于合法指令,则对待解密文件进行文件解密处理,以便将加密文件转换成能够进行正常读写操作的文件,若校验结果为解密授权指令不属于合法指令,则输出第一错误信息,并暂停对待解密文件的文件解密处理,防止文件被非法用户进行窃取,有效地保护加密文件的安全性。

在一实施例中,本实施例提供对步骤s7中所提及的对待解密文件进行文件解密处理的具体实现方法进行详细说明。

请参阅图6,图6示出了步骤s7的一具体流程图,详述如下:

s71:在待解密文件的预设的加密标识位中提取加密标识,并校验加密标识是否合法。

在本实施例中,服务端在在对待解密文件进行解密处理时,需要先在待解密文件的预设的加密标识位中提取加密标识,通过判断该加密标识是否合法,进而确定该待解密文件是否已经经过服务端的加密处理。

若在待解密文件的预设的加密标识位中获取的加密标识与预设的加密标识一致,则确认该加密标识合法,表示该待加密文件已经经过该服务端的加密处理,流程跳转到步骤s72继续执行。

若在待解密文件的预设的加密标识位中获取的加密标识与预设的加密标识不一致,则确认该加密标识不合法,表示该待加密文件未经过该服务端的加密处理,流程跳转到步骤s74继续执行。

s72:若加密标识合法,则按照预设的排列组合方式在待解密文件中提取加密密钥和加密内容。

具体地,服务端若确认加密标识合法,则表示该待解密文件已经经过该服务端进行加密,可以通过该服务端对待解密文件进行解密,服务端按照预设的排列组合方式在待解密文件中的第二预设位置中提取加密密钥,从待解密文件中的第三预设位置中提取加密内容,其中,第二预设位置是指预先在加密文件中设定用于添加加密密钥的具体位置,第三预设位置是指预先在加密文件中设定用于添加加密内容的具体位置。

s73:使用加密密钥对加密内容进行解密,得到解密文件。

具体地,根据步骤s72提取的加密密钥和加密内容,在服务端调用解密模块使用加密密钥对加密内容进行解密。

需要说明的是,服务端在对待加密文件进行加密处理时,采用了对称加密的方式,解密模块中封装的解密算法是文件加密过程中加密算法的逆运算,并且解密密钥与加密算法中的加密密钥为相同的密钥。

例如,若服务端在对待加密文件进行加密处理时,使用该加密密钥对待加密文件的文件内容进行异或运算处理,得到加密内容,则服务端在对待解密文件进行解密处理时,使用该加密密钥对加密内容再次进行异或运算处理,从而能够得到解密文件。

s74:若加密标识不合法,则输出第二错误信息,并暂停对待解密文件的文件解密处理。

具体地,服务端若确认加密标识不合法,则表示待解密文件没有经过该服务端进行加密,用户无法通过该服务端对该待解密文件进行解密,服务端将第二错误信息输出到客户端,例如,第二错误信息可以设置为“无法对当前待解密文件进行解密,请重新确认待解密文件是否正确”,用于提示用户该待解密文件没有经过该服务端进行加密,需要重新输入待解密文件,同时,暂停对待解密文件的文件解密处理操作,流程结束。

在本实施例中,通过在待解密文件的预设的加密标识位中提取加密标识,校验加密标识是否合法,用于确认待加密文件是否已经经过服务端的加密处理,进一步地,若加密标识合法,则按照预设的排列组合方式在待解密文件中提取加密密钥和加密内容,使用加密密钥对加密内容进行解密,得到解密文件,使得解密后的文件能够进行正常的读写操作,若加密标识不合法,则输出第二错误信息,提示用户无法对该待解密文件进行解密,需要重新输入待解密文件。

应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。

在一实施例中,提供一种文件保护装置,该文件保护装置与上述实施例中文件保护方法一一对应。如图7所示,该文件保护装置包括:待加密文件接收模块71、加密信息生成模块72、文件内容加密模块73和加密文件生成模块74。各功能模块详细说明如下:

待加密文件接收模块71,用于接收待加密文件;

加密信息生成模块72,用于随机生成与待加密文件对应的加密信息,其中,加密信息包括随机干扰位数、随机干扰数和预设长度的加密密钥;

文件内容加密模块73,用于使用加密密钥对待加密文件的文件内容进行加密,得到加密内容;

加密文件生成模块74,用于根据加密信息和加密内容,按照加密文件中预设的排列组合方式,将随机干扰位数和随机干扰数添加在加密文件的第一预设位置中,将加密密钥添加在加密文件的第二预设位置中,将加密内容添加在加密文件的第三预设位置中,并在加密文件的预设的加密标识位中添加预设的加密标识,得到加密文件。

进一步地,该文件保护装置还包括:

目录监控模块710,用于对预设的文件目录进行监控;

文件获取模块720,用于若检测到预设的文件目录中存在新增文件,则将新增文件作为待加密文件。

进一步地,加密信息生成模块72包括:

第一判断子模块721,用于判断待加密文件在预设的加密标识位中是否存在预设的加密标识;

停止加密子模块722,用于若在预设的加密标识位中存在预设的加密标识,则输出待加密文件已经加密的提示信息,并暂停对待加密文件的文件加密处理;

随机信息生成子模块723,用于若在预设的加密标识位中不存在预设的加密标识,则随机生成加密密钥、随机干扰位数和随机干扰数,其中,随机干扰数的位数与随机干扰位数的数值相同;

加密信息获取子模块724,用于将随机干扰位数、随机干扰数和加密密钥作为与待加密文件对应的加密信息。

进一步地,该文件保护装置还包括:

待解密文件接收模块75,用于接收待解密文件和解密授权指令;

用户权限校验模块76,用于对解密授权指令进行合法性校验,得到校验结果;

权限校验通过模块77,用于若校验结果为解密授权指令属于合法指令,则对待解密文件进行文件解密处理;

权限校验失败模块78,用于若校验结果为解密授权指令不属于合法指令,则输出第一错误信息,并暂停对待解密文件的文件解密处理。

进一步地,权限校验通过模块77包括:

第二判断子模块771,用于在待解密文件的预设的加密标识位中提取加密标识,并校验加密标识是否合法;

信息提取子模块772,用于若加密标识合法,则按照预设的排列组合方式在待解密文件中提取加密密钥和加密内容;

文件解密子模块773,用于使用加密密钥对加密内容进行解密,得到解密文件;

停止解密子模块774,用于若加密标识不合法,则输出第二错误信息,并暂停对待解密文件的文件解密处理。

关于文件保护装置的具体限定可以参见上文中对于文件保护方法的限定,在此不再赘述。上述文件保护装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。

在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图8所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口和数据库。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种文件保护方法。

在一个实施例中,提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现上述实施例文件保护方法中的步骤,例如图2所示的步骤s1至步骤s4,或者,处理器执行计算机程序时实现上述实施例中文件保护装置的各模块的功能,例如图7所示模块71至模块74的功能。为避免重复,这里不再赘述。

在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述实施例文件保护方法中的步骤,或者,处理器执行计算机程序时实现上述实施例中文件保护装置的各模块的功能。为避免重复,这里不再赘述。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(rom)、可编程rom(prom)、电可编程rom(eprom)、电可擦除可编程rom(eeprom)或闪存。易失性存储器可包括随机存取存储器(ram)或者外部高速缓冲存储器。作为说明而非局限,ram以多种形式可得,诸如静态ram(sram)、动态ram(dram)、同步dram(sdram)、双数据率sdram(ddrsdram)、增强型sdram(esdram)、同步链路(synchlink)dram(sldram)、存储器总线(rambus)直接ram(rdram)、直接存储器总线动态ram(drdram)、以及存储器总线动态ram(rdram)等。

所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。

以上所述实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围,均应包含在本发明的保护范围之内。

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