基于AES加密的文件加密方法、解密方法及相关设备技术

技术编号:36262987 阅读:8 留言:0更新日期:2023-01-07 10:01
本发明专利技术提供了一种基于AES加密的文件加密方法、解密方法及相关设备,其中方法包括:通过数组索引的方式从预设的秘钥来源数组中获取AES加密秘钥;基于所述AES加密秘钥并利用AES加密函数对待加密的文件进行加密,获得初步加密文件;利用MD5摘要信息算法获取所述AES加密秘钥的第一MD5值;利用MD5摘要信息算法获取所述初步加密文件的第二MD5值;构建包含文件加密验证信息的文件头;按顺序将所述文件头、所述第一MD5值和所述第二MD5值封装到所述初步加密文件的头部,获得最终加密文件。本发明专利技术的文件加密方法除了对文件进行加密之外还将与加密相关的文件验证信息与加密后的文件进行一起封装,实现了后续对秘钥正确性以及加密文件完整性的验证,加密流程更完善。加密流程更完善。加密流程更完善。

【技术实现步骤摘要】
基于AES加密的文件加密方法、解密方法及相关设备


[0001]本专利技术涉及发光特效制作
,尤其涉及一种基于AES加密的文件加密方法、解密方法及相关设备。

技术介绍

[0002]随着社会的发展,信息化不断的推进,“互联网+”的应用也不断的深入。信息化渗透到人们学习、工作、生活等各方面,为人们提供便利服务的同时,也面临着信息安全的巨大挑战。对于敏感数据的保护已经成为人们关注的热点问题,入侵者可以直接窃取服务存储设备,也可以使用网络技术入侵窃取文件数据。很多情况下,由于某种需要,一些敏感数据文件需要在网上供多人共享,这也增加了信息泄露的可能性。个人信息安全是信息安全的重要组成部分,创建一个保护用户个人信息的工具具有重要意义。
[0003]信息泄露是敏感数据拥有者所不愿面对的,也是难以接受的。那么如何把信息泄露的可能性降到最低,就成为一个亟需解决的问题。现有技术对文件加密基本都是简单的利用秘钥直接加密,而并不会对文件进行验证信息封装,这样在给定一个加密文件时,用户无法判断文件是不是加密文件,解密时也无法判断秘钥是否正确,更不能判断解密后的文件是否完整。
[0004]因此,现有技术还有待于改进和发展。

技术实现思路

[0005]本专利技术的主要目的旨在提供一种基于AES加密的文件加密方法、系统、设备及存储介质,以解决现有技术所述的上述问题。
[0006]本专利技术第一方面提供了一种基于AES加密的文件加密方法,包括以下步骤:
[0007]通过数组索引的方式从预设的秘钥来源数组中获取AES加密秘钥;
[0008]基于所述AES加密秘钥并利用AES加密函数对待加密的文件进行加密,获得初步加密文件;
[0009]利用MD5摘要信息算法获取所述AES加密秘钥的第一MD5值;
[0010]利用MD5摘要信息算法获取所述初步加密文件的第二MD5值;
[0011]构建包含文件加密验证信息的文件头;
[0012]按顺序将所述文件头、所述第一MD5值和所述第二MD5值封装到所述初步加密文件的头部,获得最终加密文件。
[0013]在本专利技术第一方面一种可选的实施方式中,所述通过数组索引的方式从预设的秘钥来源数组中获取AES加密秘钥包括:
[0014]获取系统当前的UTC时间;
[0015]将所述UTC时间转换为以毫秒为单位的整数值;
[0016]通过预置的整数字符串转换算法将所述整数值转换成数字字符串;
[0017]在所述数字字符串加入适宜数量的随机数以使所述数字字符串可均等拆分得到
24个数字元素;
[0018]将24个所述数字元素与预设数值相除并取余,获得24个整数;
[0019]以24个所述整数作为索引从预设的秘钥来源数组获得24个映射字符,以24个映射字符组成的字符串作为AES加密秘钥。
[0020]在本专利技术第一方面一种可选的实施方式中,所述通过数组索引的方式从预设的秘钥来源数组中获取AES加密秘钥之前包括:
[0021]将26个字母,数字0

9,以及若干的特殊符号作为映射字符按照顺序存放到秘钥来源数组中,并为26个字母,数字0

9,以及若干的特殊符号分别配置对应的映射整数。
[0022]在本专利技术第一方面一种可选的实施方式中,若所述整数作为索引确定的所述映射字符为字母,则通过预置的随机数生成器生成一个随机数,通过所述随机数的奇偶属性,确定所述字母是大写还是小写。
[0023]在本专利技术第一方面一种可选的实施方式中,所述构建包含文件加密验证信息的文件头包括:
[0024]以16个字节作为所述文件头的长度;
[0025]将16个所述字节中的第4

7字节配置成用于存储文件类型标记位信息;
[0026]将16个所述字节中的第8

11字节配置成用于存储文件大小信息。
[0027]在本专利技术第一方面一种可选的实施方式中,所述基于所述AES加密秘钥并利用AES加密函数对待加密的文件进行加密,获得初步加密文件之前包括:
[0028]判断待加密的文件的大小是否为16的整数倍;
[0029]若待加密的所述文件的大小不是16的整数倍,则在待加密的所述文件的末尾补入空白以使所述待加密的所述文件的大小等于16的整数倍。
[0030]本专利技术第二方面提供了一种AES加密文件的解密方法,包括以下步骤:
[0031]接收加密终端发送的最终加密文件;
[0032]解析所述最终加密文件的文件头,基于所述文件头中的文件加密验证信息判断所述最终加密文件是否是AES加密文件;
[0033]若所述最终加密文件为AES加密文件,则接收输入的AES解密秘钥;
[0034]通过MD5摘要信息算法获得所述AES解密秘钥的第三MD5值;
[0035]判断所述第三MD5值与所述最终加密文件的文件头之后的第一MD5值是否相同;
[0036]若所述第三MD5值和所述第一MD5值相同,则从所述最终加密文件的所述第一MD5值之后提取出第二MD5值,以及从所述第二MD5值之后提取出初步加密文件;
[0037]通过MD5摘要信息算法获得所述初步加密文件的第四MD5值;
[0038]判断所述第四MD5值与所述第二MD5值是否相同;
[0039]若所述第四MD5值与所述第二MD5值相同,则基于所述AES解密秘钥并通过AES解密函数获得原始文件。
[0040]本专利技术第三方面提供了一种基于AES加密的文件加密装置,所述基于AES加密的文件加密装置包括:
[0041]秘钥生成模块,用于通过数组索引的方式从预设的秘钥来源数组中获取AES加密秘钥;
[0042]加密模块,用于基于所述AES加密秘钥并利用AES加密函数对待加密的文件进行加
密,获得初步加密文件;
[0043]第一MD5值计算模块,用于利用MD5摘要信息算法获取所述AES加密秘钥的第一MD5值;
[0044]第二MD5值计算模块,用于利用MD5摘要信息算法获取所述初步加密文件的第二MD5值;
[0045]文件头构建模块,用于构建包含文件加密验证信息的文件头;
[0046]文件封装模块,用于按顺序将所述文件头、所述第一MD5值和所述第二MD5值封装到所述初步加密文件的头部,获得最终加密文件。
[0047]本专利技术第四方面提供了一种基于AES加密的文件加密设备,所述基于AES加密的文件加密设备包括:存储器和至少一个处理器,所述存储器中存储有指令,所述存储器和所述至少一个处理器通过线路互连;
[0048]所述至少一个处理器调用所述存储器中的所述指令,以使得所述基于AES加密的文件加密设备执行如上述任一项所述的基于AES加密的文件加密方法。
[0049]本专利技术第五方面提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于AES加密的文件加密方法,其特征在于,包括以下步骤:通过数组索引的方式从预设的秘钥来源数组中获取AES加密秘钥;基于所述AES加密秘钥并利用AES加密函数对待加密的文件进行加密,获得初步加密文件;利用MD5摘要信息算法获取所述AES加密秘钥的第一MD5值;利用MD5摘要信息算法获取所述初步加密文件的第二MD5值;构建包含文件加密验证信息的文件头;按顺序将所述文件头、所述第一MD5值和所述第二MD5值封装到所述初步加密文件的头部,获得最终加密文件。2.根据权利要求1所述的基于AES加密的文件加密方法,其特征在于,所述通过数组索引的方式从预设的秘钥来源数组中获取AES加密秘钥包括:获取系统当前的UTC时间;将所述UTC时间转换为以毫秒为单位的整数值;通过预置的整数字符串转换算法将所述整数值转换成数字字符串;在所述数字字符串加入适宜数量的随机数以使所述数字字符串可均等拆分得到24个数字元素;将24个所述数字元素与预设数值相除并取余,获得24个整数;以24个所述整数作为索引从预设的秘钥来源数组获得24个映射字符,以24个映射字符组成的字符串作为AES加密秘钥。3.根据权利要求2所述的基于AES加密的文件加密方法,其特征在于,所述通过数组索引的方式从预设的秘钥来源数组中获取AES加密秘钥之前包括:将26个字母,数字0

9,以及若干的特殊符号作为映射字符按照顺序存放到秘钥来源数组中,并为26个字母,数字0

9,以及若干的特殊符号分别配置对应的映射整数。4.根据权利要求3所述的基于AES加密的文件加密方法,其特征在于,若所述整数作为索引确定的所述映射字符为字母,则通过预置的随机数生成器生成一个随机数,通过所述随机数的奇偶属性,确定所述字母是大写还是小写。5.根据权利要求1所述的基于AES加密的文件加密方法,其特征在于,所述构建包含文件加密验证信息的文件头包括:以16个字节作为所述文件头的长度;将16个所述字节中的第4

7字节配置成用于存储文件类型标记位信息;将16个所述字节中的第8

11字节配置成用于存储文件大小信息。6.根据权利要求1所述的基于AES加密的文件加密方法,其特征在于,所述基于所述AES加密秘钥并利用AES加密函数对待加密的文件进行加密,获得初步加密文件之前包括:判断待加密的文件的大小是否为16的整数倍;若待...

【专利技术属性】
技术研发人员:司宝钻
申请(专利权)人:深圳市大头兄弟科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1