文件的加密方法、解密方法和装置与流程

文档序号:22241449发布日期:2020-09-15 19:54阅读:203来源:国知局
文件的加密方法、解密方法和装置与流程

本发明涉及信息技术领域,尤其是涉及文件的加密方法、解密方法和装置。



背景技术:

随着互联网的发展,服务器成为存储网络文件的重要选择。通常将文件的真实信息存储在服务器的数据库中,并转换为url(uniformresourcelocator,统一资源定位符)进行文件操作。

这种方式需要依赖数据库,成本高,并且将文件的真实信息存储在服务器的固定路径中,大多数人可通过这个固定路径找到该文件,由于并没有对该文件进行加密,容易导致文件内容泄露或篡改等,安全性差。



技术实现要素:

有鉴于此,本发明的目的在于提供文件的加密方法、解密方法和装置,对文件路径进行加密,减少服务器中文件结构的泄露,提高文件的安全性,以及不需要依赖数据库,成本低。

第一方面,本发明实施例提供了文件的加密方法,应用于服务器,所述方法包括:

接收客户端发送的数据流,所述数据流包括文件属性信息;

对所述数据流进行加密处理,得到文件内容密文;

根据预设规则生成第一文件,将所述文件内容密文写入所述第一文件;

将写入所述文件内容密文的第一文件对应的文件路径信息与所述文件属性信息进行加密,得到加密后的文件下载信息;

根据所述加密后的文件下载信息计算第一md5值;

将所述加密后的文件下载信息和所述第一md5值进行编码,得到编码信息,并将所述编码信息发送给所述客户端;

其中,所述第一文件为没有存储文件信息的空文件。

进一步的,所述方法还包括:

接收所述客户端发送的上传请求信息,所述上传请求信息包括用户名和密码;

将所述用户名与预存的用户名、所述密码与预存的密码进行匹配;

如果所述用户名与所述预存的用户名一致,并且所述密码与所述预存的密码一致,则向所述客户端发送校验通过的第一提示信息。

进一步的,所述上传请求信息还包括授权码,所述方法还包括:

当用户通过所述用户名和所述密码在所述客户端登录成功时,对所述授权码进行验证;

如果所述授权码与预存的授权码一致,则向所述客户端发送验证通过的第二提示信息。

进一步的,所述对所述数据流进行加密处理,得到文件内容密文,包括:

对所述数据流采用对称加密算法或非对称加密算法进行加密处理,得到所述文件内容密文。

第二方面,本发明实施例提供了文件的解密方法,应用于服务器,所述方法包括:

接收客户端发送的下载请求信息,所述下载请求信息包括编码信息;

对所述编码信息进行解码,得到加密后的文件下载信息和第一md5值;

根据所述加密后的文件下载信息和第一md5值,对所述加密后的文件下载信息进行校验;

如果校验通过,则对所述加密后的文件下载信息进行解密,得到文件路径信息和文件属性信息;

将所述文件属性信息写入响应头中,并且根据所述文件路径信息读取文件内容密文;

将所述文件内容密文进行解密,得到文件内容明文;

将包括所述文件内容明文的响应信息发送给所述客户端。

进一步的,所述根据所述加密后的文件下载信息和第一md5值,对所述加密后的文件下载信息进行校验,包括:

根据所述加密后的文件下载信息得到第二md5值;

将所述第一md5值与所述第二md5值进行匹配;

如果所述第一md5值与所述第二md5值相同,则所述加密后的文件下载信息没有篡改;

如果所述第一md5值与所述第二md5值不相同,则所述加密后的文件下载信息发生篡改。

第三方面,本发明实施例提供了文件的加密装置,应用于服务器,所述装置包括:

数据流接收单元,用于接收客户端发送的数据流,所述数据流包括文件属性信息;

加密处理单元,用于对所述数据流进行加密处理,得到文件内容密文;

第一文件生成单元,用于根据预设规则生成第一文件,将所述文件内容密文写入所述第一文件;

加密单元,用于将写入所述文件内容密文的第一文件对应的文件路径信息与所述文件属性信息进行加密,得到加密后的文件下载信息;

计算单元,用于根据所述加密后的文件下载信息计算第一md5值;

编码单元,用于将所述加密后的文件下载信息和所述第一md5值进行编码,得到编码信息,并将所述编码信息发送给所述客户端;

其中,所述第一文件为没有存储文件信息的空文件。

第四方面,本发明实施例提供了文件的解密装置,应用于服务器,所述装置包括:

下载请求信息接收单元,用于接收客户端发送的下载请求信息,所述下载请求信息包括编码信息;

解码单元,用于对所述编码信息进行解码,得到加密后的文件下载信息和第一md5值;

校验单元,用于根据所述加密后的文件下载信息和第一md5值,对所述加密后的文件下载信息进行校验;

第一解密单元,用于在校验通过的情况下,对所述加密后的文件下载信息进行解密,得到文件路径信息和文件属性信息;

写入单元,用于将所述文件属性信息写入响应头中,并且根据所述文件路径信息读取文件内容密文;

第二解密单元,用于将所述文件内容密文进行解密,得到文件内容明文;

发送单元,用于将包括所述文件内容明文的响应信息发送给所述客户端。

第五方面,本发明实施例提供了电子设备,包括存储器、处理器,所述存储器上存储有可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上所述的方法。

第六方面,本发明实施例提供了具有处理器可执行的非易失的程序代码的计算机可读介质,所述程序代码使所述处理器执行如上所述的方法。

本发明实施例提供了文件的加密方法、解密方法和装置,包括:接收客户端发送的数据流,数据流包括文件属性信息;对数据流进行加密处理,得到文件内容密文;根据预设规则生成第一文件,将文件内容密文写入第一文件;将写入文件内容密文的第一文件对应的文件路径信息与文件属性信息进行加密,得到加密后的文件下载信息;根据加密后的文件下载信息计算第一md5值;将加密后的文件下载信息和第一md5值进行编码,得到编码信息,并将编码信息发送给客户端;其中,第一文件为没有存储文件信息的空文件,对文件路径进行加密,减少服务器中文件结构的泄露,提高文件的安全性,以及不需要依赖数据库,成本低。

本发明的其他特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点在说明书、权利要求书以及附图中所特别指出的结构来实现和获得。

为使本发明的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。

附图说明

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

图1为本发明实施例一提供的文件的加密方法流程图;

图2为本发明实施例二提供的文件的解密方法流程图;

图3为本发明实施例三提供的文件的加密装置示意图;

图4为本发明实施例四提供的文件的解密装置示意图。

图标:

1-数据流接收单元;2-加密处理单元;3-第一文件生成单元;4-加密单元;5-计算单元;6-编码单元;7-下载请求信息接收单元;8-解码单元;9-校验单元;10-第一解密单元;11-写入单元;12-第二解密单元;13-发送单元。

具体实施方式

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

为便于对本实施例进行理解,下面对本发明实施例进行详细介绍。

实施例一:

图1为本发明实施例一提供的文件的加密方法流程图。

参照图1,执行主体为服务器,该方法包括以下步骤:

步骤s101,接收客户端发送的数据流,数据流包括文件属性信息;

这里,文件属性信息包括但不限于文件名、文件大小和文件格式。

步骤s102,对数据流进行加密处理,得到文件内容密文;

这里,服务器对数据流进行加密,通常采用可逆加密算法,其中,可逆加密算法包括对称加密算法和非对称加密算法,采用对称加密算法或非对称加密算法对数据流进行加密处理,得到文件内容密文。

步骤s103,根据预设规则生成第一文件,将文件内容密文写入第一文件;

具体地,预设规则可以为随机生成算法,根据随机生成算法在指定的文件路径生成随机命名的第一文件,其中,第一文件为没有存储文件信息的空文件,也就是说第一文件的大小为0。

步骤s104,将写入文件内容密文的第一文件对应的文件路径信息与文件属性信息进行加密,得到加密后的文件下载信息;

具体地,当根据随机生成算法生成指定路径的第一文件时,将文件内容密文写入第一文件中,此时,第一文件的大小不为0。当第一文件为空文件时对应的文件路径信息,与写入文件内容密文的第一文件对应的文件路径信息是相同的。

将写入文件内容密文的第一文件对应的文件路径信息与文件属性信息进行加密,也就是将写入文件内容密文的第一文件对应的文件路径信息与文件属性信息进行封装在一起后进行加密。例如,文件路径信息为“e:\电脑资料\备份”,文件属性信息为“神经网络+pdf+32bit”,封装后为“e:\电脑资料\备份+神经网络+pdf+32bit”。在对写入文件内容密文的第一文件对应的文件路径信息与文件属性信息进行加密,得到加密后的文件下载信息,此时可以减少服务器文件暴露的风险,减少恶意攻击,提高文件的安全性。在上述加密的过程中,不需要数据库进行存储,可以降低成本。

步骤s105,根据加密后的文件下载信息计算第一md5值;

步骤s106,将加密后的文件下载信息和第一md5值进行编码,得到编码信息,并将编码信息发送给客户端。

这里,由于加密后的文件下载信息和第一md5值均为二进制格式,将加密后的文件下载信息和第一md5值进行编码后,得到的编码信息为字符串格式。

进一步的,该方法还包括以下步骤:

步骤s201,接收客户端发送的上传请求信息,上传请求信息包括用户名和密码;

步骤s202,将用户名与预存的用户名、密码与预存的密码进行匹配;

步骤s203,如果用户名与预存的用户名一致,并且密码与预存的密码一致,则向客户端发送校验通过的第一提示信息。

进一步的,上传请求信息还包括授权码,该方法还包括以下步骤:

步骤s301,当用户通过用户名和密码在客户端登录成功时,对授权码进行验证;

步骤s302,如果授权码与预存的授权码一致,则向客户端发送验证通过的第二提示信息。

具体地,当客户端向服务器发送上传请求信息时,服务器需要对客户端进行权限校验,权限校验包括两种方式。

第一种方式为:上传请求信息包括用户名和密码,服务器将用户名与预存的用户名、密码与预存的密码进行匹配,如果用户名与预存的用户名一致,并且密码与预存的密码一致,则说明客户端符合上传文件的权限,此时,服务器向客户端发送校验通过的第一提示信息。如果用户名与预存的用户名一致,密码与预存的密码不一致,此时校验不通过;如果用户名与预存的用户名不一致,并且密码与预存的密码一致,此时校验不通过;如果用户名与预存的用户名不一致,并且密码与预存的密码不一致,此时校验不通过。在校验不通过的情况下,客户端无法上传文件。

第二种方式为:当用户在客户端上输入用户名和密码登录成功时,服务器通常会为客户端分配授权码,此时,客户端将授权码发送给服务器,服务器将授权码与预存的授权码进行匹配,如果授权码与预存的授权码一致,则服务器向客户端发送验证通过的第二提示信息。

进一步的,步骤s102包括:

对数据流采用对称加密算法或非对称加密算法进行加密处理,得到文件内容密文。

本实施提供的文件的加密方法,包括:接收客户端发送的数据流,数据流包括文件属性信息;对数据流进行加密处理,得到文件内容密文;根据预设规则生成第一文件,将文件内容密文写入第一文件;将写入文件内容密文的第一文件对应的文件路径信息与文件属性信息进行加密,得到加密后的文件下载信息;根据加密后的文件下载信息计算第一md5值;将加密后的文件下载信息和第一md5值进行编码,得到编码信息,并将编码信息发送给客户端;其中,第一文件为没有存储文件信息的空文件,对文件路径进行加密,减少服务器中文件结构的泄露,提高文件的安全性,以及不需要依赖数据库,成本低。

实施例二:

图2为本发明实施例二提供的文件的解密方法流程图。

参照图2,执行主体为服务器,该方法包括以下步骤:

步骤s401,接收客户端发送的下载请求信息,下载请求信息包括编码信息;

这里,服务器在接收到客户端发送的下载请求信息后,需要对下载请求信息中的用户名、密码和授权码进行校验,具体校验过程与加密过程类似,在此不作赘述。其中,编码信息是通过加密方法得到的。

步骤s402,对编码信息进行解码,得到加密后的文件下载信息和第一md5值;

步骤s403,根据加密后的文件下载信息和第一md5值,对加密后的文件下载信息进行校验;

步骤s404,如果校验通过,则对加密后的文件下载信息进行解密,得到文件路径信息和文件属性信息;

这里,对加密后的文件下载信息进行解密的过程,与加密过程对应。

步骤s405,将文件属性信息写入响应头中,并且根据文件路径信息读取文件内容密文;

具体地,数据流包括响应头,将文件属性信息写入响应头后,由于文件属性信息包括文件名,客户端可通过响应头中的文件名创建文件。例如,当文件名为“123”,文件格式为“pdf”时,当用户在客户端上点击下载链接后,浏览器从响应头中调取文件名“123.pdf”。

步骤s406,将文件内容密文进行解密,得到文件内容明文;

这里,解密过程与加密过程中的对称加密算法或非对称加密算法相对应。

步骤s407,将包括文件内容明文的响应信息发送给客户端。

进一步的,步骤s403包括以下步骤:

步骤s501,根据加密后的文件下载信息得到第二md5值;

步骤s502,将第一md5值与第二md5值进行匹配;如果第一md5值与第二md5值相同,则执行步骤s503;如果第一md5值与第二md5值不相同,则执行步骤s504;

步骤s503,加密后的文件下载信息没有篡改;

步骤s504,加密后的文件下载信息发生篡改。

具体地,当客户端向服务器发送下载请求信息时,服务器需要对下载请求信息中包括的加密后的文件下载信息进行校验,以判断加密后的文件下载信息是否被篡改。

本实施例提供的文件的解密方法,包括:接收客户端发送的下载请求信息,下载请求信息包括编码信息;对编码信息进行解码,得到加密后的文件下载信息和第一md5值;根据加密后的文件下载信息和第一md5值,对加密后的文件下载信息进行校验;如果校验通过,则对加密后的文件下载信息进行解密,得到文件路径信息和文件属性信息;将文件属性信息写入响应头中,并且根据文件路径信息读取文件内容密文;将文件内容密文进行解密,得到文件内容明文;将包括文件内容明文的响应信息发送给客户,可以对文件路径进行解密,减少服务器中文件结构的泄露,提高文件的安全性,以及不需要依赖数据库,成本低。

实施例三:

图3为本发明实施例三提供的文件的加密装置示意图。

参照图3,应用于服务器,该装置包括:

数据流接收单元1,用于接收客户端发送的数据流,数据流包括文件属性信息;

加密处理单元2,用于对数据流进行加密处理,得到文件内容密文;

第一文件生成单元3,用于根据预设规则生成第一文件,将文件内容密文写入第一文件;

加密单元4,用于将写入文件内容密文的第一文件对应的文件路径信息与文件属性信息进行加密,得到加密后的文件下载信息;

计算单元5,用于根据加密后的文件下载信息计算第一md5值;

编码单元6,用于将加密后的文件下载信息和第一md5值进行编码,得到编码信息,并将编码信息发送给客户端;其中,第一文件为没有存储文件信息的空文件。

本实施提供的文件的加密装置,包括:接收客户端发送的数据流,数据流包括文件属性信息;对数据流进行加密处理,得到文件内容密文;根据预设规则生成第一文件,将文件内容密文写入第一文件;将写入文件内容密文的第一文件对应的文件路径信息与文件属性信息进行加密,得到加密后的文件下载信息;根据加密后的文件下载信息计算第一md5值;将加密后的文件下载信息和第一md5值进行编码,得到编码信息,并将编码信息发送给客户端;其中,第一文件为没有存储文件信息的空文件,对文件路径进行加密,减少服务器中文件结构的泄露,提高文件的安全性,以及不需要依赖数据库,成本低。

实施例四:

图4为本发明实施例四提供的文件的解密装置示意图。

参照图4,应用于服务器,该装置包括:

下载请求信息接收单元7,用于接收客户端发送的下载请求信息,下载请求信息包括编码信息;

解码单元8,用于对编码信息进行解码,得到加密后的文件下载信息和第一md5值;

校验单元9,用于根据加密后的文件下载信息和第一md5值,对加密后的文件下载信息进行校验;

第一解密单元10,用于在校验通过的情况下,对加密后的文件下载信息进行解密,得到文件路径信息和文件属性信息;

写入单元11,用于将文件属性信息写入响应头中,并且根据文件路径信息读取文件内容密文;

第二解密单元12,用于将文件内容密文进行解密,得到文件内容明文;

发送单元13,用于将包括文件内容明文的响应信息发送给客户端。

本实施例提供的文件的解密装置,包括:接收客户端发送的下载请求信息,下载请求信息包括编码信息;对编码信息进行解码,得到加密后的文件下载信息和第一md5值;根据加密后的文件下载信息和第一md5值,对加密后的文件下载信息进行校验;如果校验通过,则对加密后的文件下载信息进行解密,得到文件路径信息和文件属性信息;将文件属性信息写入响应头中,并且根据文件路径信息读取文件内容密文;将文件内容密文进行解密,得到文件内容明文;将包括文件内容明文的响应信息发送给客户,可以对文件路径进行解密,减少服务器中文件结构的泄露,提高文件的安全性,以及不需要依赖数据库,成本低。

本发明实施例还提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现上述实施例提供的文件的加密方法、解密方法的步骤。

本发明实施例还提供一种具有处理器可执行的非易失的程序代码的计算机可读介质,计算机可读介质上存储有计算机程序,计算机程序被处理器运行时执行上述实施例的文件的加密方法、解密方法的步骤。

本发明实施例所提供的计算机程序产品,包括存储了程序代码的计算机可读存储介质,所述程序代码包括的指令可用于执行前面方法实施例中所述的方法,具体实现可参见方法实施例,在此不再赘述。

所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统和装置的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

另外,在本发明实施例的描述中,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本发明中的具体含义。

所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、磁碟或者光盘等各种可以存储程序代码的介质。

在本发明的描述中,需要说明的是,术语“中心”、“上”、“下”、“左”、“右”、“竖直”、“水平”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。此外,术语“第一”、“第二”、“第三”仅用于描述目的,而不能理解为指示或暗示相对重要性。

最后应说明的是:以上所述实施例,仅为本发明的具体实施方式,用以说明本发明的技术方案,而非对其限制,本发明的保护范围并不局限于此,尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本发明实施例技术方案的精神和范围,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。

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