一种图片加密存储方法与流程

文档序号:11206354阅读:3787来源:国知局
一种图片加密存储方法与流程

本发明涉及数据信息处理技术领域,具体涉及一种图片加密存储方法。



背景技术:

随着社会和企业信息化的进程,人们更加依赖网络带来的方便和快捷。个人和大部分企业建立了计算机网络,办公系统逐渐普及,越来越多的商业领域依托网络而发展,网络已成为人们生活、社会和企业运转不可或缺的一部分,同时也给信息安全带来了新的问题。常用的一种图片加密存储方法为分段存储将一个图片文件分成多个文件进行储存,这种方法的缺点是:当多个文件都泄露时,通过简单的组合就能得到原来的图片文件,这种方法的安全性很差;常用的另一种图片加密存储方法为对整个图片文件进行加密,这种方法的缺点是:当图片文件很大时,加密整个图片文件会耗费服务器很多的资源,且用时很长。



技术实现要素:

本发明的目的在于克服现有技术存在的以上问题,提供一种图片加密存储方法,可以有效的解决图片在服务器加密存储的要求,可以有效的保证图片存储的安全性,可以有效的减少图片加密存储过程中对服务器的资源占用和时间消耗,可以有效的减少客户端在解密获取图片过程中服务器的响应时间。

为实现上述技术目的,达到上述技术效果,本发明通过以下技术方案实现:

一种图片加密存储方法,包括以下步骤:

s1、图片文件流上传至服务器,将图片文件流读入内存并保存为文件流数组;

s2、文件流数组分段,将文件流数组拆分为文件流第一数组和文件流第二数组;

s3、生成密文,用算法加密文件流第一数组数据生成密文;

s4、存储文件,存储密文至第一文件,存储第二数组数据至第二文件。

进一步地,还包括解密步骤,所述解密步骤包括:

j1、获取第一文件和第二文件,获取服务器上的第一文件和第二文件;

j2、将第一文件和第二文件读入内存,将第一文件的数据读入文件流第一数组,第二文件的数据读入文件流第二数组;

j3、生成明文,用算法解密文件流第一数组数据生成明文;

j4、转换数组数据为图片,合并明文和文件流第二数组数据得到文件流第三数组数据,转换文件流第三数组数据为图片。

进一步地,所述算法为aes算法。

进一步地,步骤s3中的用算法加密文件流第一数组数据的步骤包括:

生成扩展密钥,用密钥扩展程序生成扩展密钥;

加密数据,用aes加密算法和扩展密钥加密第一数组数据。

进一步地,所述扩展密钥长度为128比特。

进一步地,步骤j3中的用算法解密文件流第一数组数据的步骤包括:

获取扩展密钥;

解密数据,用aes解密算法和扩展密钥解密第一数组数据。

进一步地,所述文件流数组分段为使用随机函数确定文件流第一数组和文件流第二数组的长度。

本发明的有益效果是:本发明提供一种图片加密存储方法,包括步骤图片文件流上传至服务器,文件流数组分段,将文件流数组拆分为文件流第一数组和文件流第二数组,生成密文,用算法加密文件流第一数组数据生成密文,存储密文至第一文件,存储第二数组数据至第二文件,解密步骤,可以有效的解决图片在服务器加密存储的要求,可以有效的保证图片存储的安全性,只加密图片文件的部分数据,可以有效的减少图片加密存储过程中对服务器资源的占用和时间消耗,可以有效的减少客户端在解密获取图片过程中服务器的响应时间。

上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,并可依照说明书的内容予以实施,以下以本发明的较佳实施例并配合附图详细说明如后。本发明的具体实施方式由以下实施例及其附图详细给出。

附图说明

此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:

图1是本发明的一种图片加密存储方法的流程图;

图2是本发明的一种图片加密存储方法的解密步骤流程图;

图3是本发明的一种图片加密存储方法的aes加密算法流程图;

图4是本发明的一种图片加密存储方法的aes解密算法流程图。

具体实施方式

下面将参考附图并结合实施例,来详细说明本发明。

参照图1-4所示,一种图片加密存储方法,如图1所示,包括以下步骤:

s1、图片文件流上传至服务器,将图片文件流读入内存并保存为文件流数组;优选地,在一实施例中,将图片文件流上传至服务器,将图片文件流读入内存并保存为文件流字节数组。

s2、文件流数组分段,将文件流数组拆分为文件流第一数组和文件流第二数组;优选地,在一实施例中,将文件流字节数组拆分为文件流字节第一数组和文件流字节第二数组,使用随机函数random确定文件流字节第一数组和文件流字节第二数组的长度。

s3、生成密文,用算法加密文件流第一数组数据生成密文;优选地;在一实施例中,用aes算法加密文件流字节第一数组数据生成密文。

在一实施例中,如图3所示,步骤s3中的用算法加密文件流第一数组数据的步骤包括:读取文件流第一数组数据,读取密钥,由于密钥的长度有限,在aes算法中使用一个密钥扩展程序把密钥扩展成更长的比特串,即生成扩展密钥,扩展密钥用来生成用aes算法加密过程中各轮的加密密钥,优选地,扩展密钥长度为128比特,利用aes加密算法的轮变换和最后轮变换对文件进行加密,生成密文。

s4、存储文件,存储密文至第一文件,存储第二数组数据至第二文件;在一实施例中,用aes加密算法对文件流第一数组数据加密后的密文存储到第一文件,未加密的文件流第二数组数据存储至第二文件;

优选地,还包括解密步骤,如图2所示,解密步骤包括:

j1、获取第一文件和第二文件,获取服务器上的第一文件和第二文件;优选地,在一实施例中,从服务器获取用aes加密算法的第一文件和未加密的第二文件;

j2、将第一文件和第二文件读入内存,将第一文件的数据读入文件流第一数组,第二文件的数据读入文件流第二数组;

j3、生成明文,用算法解密文件流第一数组数据生成明文,优选地;在一实施例中,用aes算法解密文件流第一数组数据生成明文;

在一实施例中,如图4所示,步骤j3中的用算法解密文件流第一数组数据的步骤包括:读取文件流第一数组数据,获取扩展密钥,用扩展密钥生成aes算法解密过程中各轮的解密密钥,优选地,扩展密钥长度为128比特,利用aes解密算法的轮变换和最后轮变换对文件进行解密,生成明文。

j4、转换数组数据为图片,合并明文和文件流第二数组数据得到文件流第三数组数据,转换文件流第三数组数据为图片;在一实施例中,合并用aes解密算法对文件流第一数组数据解密后的明文和未解密的文件流第二数组数据得到文件流第三数组数据,转换文件流第三数组数据为图片。

本发明提供一种图片加密存储方法,包括步骤图片文件流上传至服务器,文件流数组分段,生成密文,存储密文至第一文件,存储第二数组数据至第二文件,解密步骤,可以有效的解决图片在服务器加密存储的要求,可以有效的保证图片存储的安全性,只加密图片文件的部分数据,可以有效的减少图片加密存储过程中对服务器资源的占用和时间消耗,可以有效的减少客户端在解密获取图片过程中服务器的响应时间。

以上,仅为本发明的较佳实施例而已,并非对本发明作任何形式上的限制;凡本行业的普通技术人员均可按说明书附图所示和以上而顺畅地实施本发明;但是,凡熟悉本专业的技术人员在不脱离本发明技术方案范围内,利用以上所揭示的技术内容而做出的些许更动、修饰与演变的等同变化,均为本发明的等效实施例;同时,凡依据本发明的实质技术对以上实施例所作的任何等同变化的更动、修饰与演变等,均仍属于本发明的技术方案的保护范围之内。

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