一种数据加密方法、装置、计算机设备和存储介质制造方法及图纸

技术编号:34811089 阅读:40 留言:0更新日期:2022-09-03 20:19
本申请公开了一种数据加密方法、装置、计算机设备和存储介质,可应用于数据处理领域或金融领域,以实现增强MD5算法加密的复杂度。该方法包括:根据当前的第一常量数组和控制系数得到第二常量数组;分别计算当前的第一常量数组的元素、第二常量数组的元素的目标函数值;根据目标函数值更新当前的第一常量数组中的元素;循环上述步骤,使第一常量数组更新预设次数后,获得循环预设次数后的第一常量数组;利用循环预设次数后的第一常量数组对待加密数据进行加密。利用函数值差的不确定性更新常量数组,赋予参与加密运算的常量数组中的元素内容不确定性。内容不确定性。内容不确定性。

【技术实现步骤摘要】
一种数据加密方法、装置、计算机设备和存储介质


[0001]本申请涉及数据处理领域,特别是涉及一种数据加密方法、装置、计算机设备和存储介质。

技术介绍

[0002]随着互联网科技的发展,各种各样的数据加密算法屡见不鲜,MD5算法因其普遍、稳定、快速的特点,被广泛应用于普通数据加密保护领域,例如,用于密码管理。
[0003]然而,目前的MD5算法的加密方式采用计算因子和加密算法,其中,计算因子包括常量数组、位移量、初始幻数等。由于计算因子中的常量数组被公开,进而导致MD5算法容易被破解,安全性差。

技术实现思路

[0004]基于上述问题,本申请提供了一种数据加密方法、装置、设备和计算机存储介质,以实现增强MD5算法加密的复杂度,提高安全性。
[0005]本申请实施例公开了如下技术方案:
[0006]本申请实施例第一方面提供一种数据加密方法,包括:
[0007]步骤1、根据当前的第一常量数组的元素、目标函数,得到第一目标函数值;
[0008]步骤2、根据所述当前的第一常量数组的元素、控制系数,得到第二常量数组的元素;
[0009]步骤3、根据所述第二常量数组的元素、所述目标函数,得到第二目标函数值;
[0010]步骤4、根据所述第一目标函数值和所述第二目标函数值,更新当前的第一常量数组中的元素;
[0011]步骤5、循环步骤1至步骤4,直到循环次数达到预设次数,获得循环预设次数后的第一常量数组;
[0012]步骤7、利用所述循环预设次数后的第一常量数组、初始幻数、位移量和加密函数对待加密数据进行加密。
[0013]在一种可能的实现方式中,所述步骤4包括:
[0014]计算所述第二目标函数值减所述第一目标函数值,得到函数值的差;
[0015]若所述函数值的差小于零,则根据所述第二常量数组的元素更新当前的第一常量数组的元素;若所述函数值的差大于零,所述当前的第一常量数组的元素保持不变。
[0016]在一种可能的实现方式中,所述步骤2包括:
[0017]将所述当前的第一常量数组中的各元素与所述控制系数相乘,得到所述第二常量数组的元素。
[0018]在一种可能的实现方式中,所述方法还包括:定期更换所述目标函数、控制系数和预设次数。
[0019]在一种可能的实现方式中,所述步骤6包括:
[0020]对所述待加密数据进行数据填充,使填充后的数据长度为预设值的整数倍;
[0021]将填充后的数据划分为倍数值个分块数据,每个分块数据长度等于所述预设值;
[0022]将每个分块数据划分为多个小组数据;
[0023]对每个小组数据依次利用所述第二常量数组、初始幻数、位移量和加密函数进行子循环处理,得到加密数据。
[0024]本申请实施例第二方面提供一种数据加密装置,包括:
[0025]第一计算单元,用于根据当前的第一常量数组的元素、目标函数,得到第一目标函数值;
[0026]第二常量数组获得单元,用于根据当前的第一常量数组、控制系数,得到第二常量数组;
[0027]第二计算单元,用于根据所述第二常量数组的元素、所述目标函数,得到第二目标函数值;
[0028]更新单元,用于根据所述第一目标函数值和所述第二目标函数值,更新当前的第一常量数组中的元素;
[0029]当前的第一常量数获得单元,用于循环执行所述第一计算单元、第二常量数组获得单元、第二计算单元及更新单元的操作,直到循环次数达到预设次数,获得循环预设次数后的第一常量数组;
[0030]加密单元,用于利用所述循环预设次数后的第一常量数组、初始幻数、位移量和加密函数对所述待加密数据进行加密。
[0031]在一种可能的实现方式中,所述更新单元包括:
[0032]函数值的差计算单元,用于计算所述第二目标函数值减所述第一目标函数值,得到函数值的差;
[0033]更新子单元,用于若所述函数值的差小于零,则根据所述第二常量数组的元素更新当前的第一常量数组的元素;若所述函数值的差大于零,所述当前的第一常量数组的元素保持不变。
[0034]在一种可能的实现方式中,所述第二常量数组获得单元,具体用于:
[0035]将所述第一常量数组中的各元素与所述控制系数相乘,得到所述第二常量数组的元素。
[0036]本申请实施例第三方面提供一种计算机设备,包括:存储器,处理器,及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时,实现如本申请实施例第一方面中任一项所述的数据加密方法。
[0037]本申请实施例第四方面提供一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当所述指令在终端设备上运行时,使得所述终端设备执行如本申请实施例第一方面中任一项所述的数据加密方法。
[0038]相较于现有技术,本申请具有以下有益效果:
[0039]本申请提供的一种数据加密方法,步骤1、根据当前的第一常量数组的元素、目标函数,得到第一目标函数值;步骤2、根据当前的第一常量数组、控制系数,得到第二常量数组;步骤3、根据所述第二常量数组的元素、所述目标函数,得到第二目标函数值;步骤4、根据所述第一目标函数值和所述第二目标函数值,更新当前的第一常量数组中的元素;步骤
5、循环步骤1至步骤4,直到循环次数等于预设次数,获得循环预设次数后的第一常量数组;步骤6、利用循环预设次数后的第一常量数组、初始幻数、位移量和加密函数对待加密数据进行加密。利用函数值差的不确定性更新常量数组,赋予参与加密运算的常量数组中的元素内容不确定性,实现了增强MD5算法加密的复杂度,提高安全性。
附图说明
[0040]为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
[0041]图1为本申请实施例提供的一种终端设备;
[0042]图2为本申请实施例提供的一种数据加密方法流程图;
[0043]图3为本申请实施例提供的应用数据加密方法对待加密数据进行加密的流程图;
[0044]图4为本申请实施例提供的对原始数据进行数据填充后的数据格式示意图;
[0045]图5为本申请实施例提供的一种数据加密装置结构图;
[0046]图6为本申请实施例提供的一种计算机设备结构图。
具体实施方式
[0047]为使本申请的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本申请实施例作进一步详细的说明。
[0048]正如前文描述,目前的MD5算法计算方式固定,计算因子的具体顺序和内容均已公开。因此,MD5算法被破解的概率很大。
[0049]本申请实施例提供一种数据加本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种数据加密方法,其特征在于,包括:步骤1、根据当前的第一常量数组的元素、目标函数,得到第一目标函数值;步骤2、根据所述当前的第一常量数组的元素、控制系数,得到第二常量数组的元素;步骤3、根据所述第二常量数组的元素、所述目标函数,得到第二目标函数值;步骤4、根据所述第一目标函数值和所述第二目标函数值,更新所述当前的第一常量数组中的元素;步骤5、循环步骤1至步骤4,直到循环次数达到预设次数,获得循环预设次数后的第一常量数组;步骤6、利用所述循环预设次数后的第一常量数组、初始幻数、位移量和加密函数对待加密数据进行加密。2.根据权利要求1所述的方法,其特征在于,所述步骤4包括:计算所述第二目标函数值减所述第一目标函数值,得到函数值的差;若所述函数值的差小于零,则根据所述第二常量数组的元素更新所述当前的第一常量数组的元素;若所述函数值的差大于零,所述当前的第一常量数组的元素保持不变。3.根据权利要求1所述的方法,其特征在于,所述步骤2包括:将所述当前的第一常量数组中的各元素与所述控制系数相乘,得到所述第二常量数组的元素。4.根据权利要求1所述的方法,其特征在于,所述方法还包括:定期更换所述目标函数、控制系数和预设次数。5.根据权利要求1

4任一项所述的方法,其特征在于,所述步骤6包括:对所述待加密数据进行数据填充,使填充后的数据长度为预设值的整数倍;将填充后的数据划分为倍数值个分块数据,每个分块数据长度等于所述预设值;将每个分块数据划分为多个小组数据;对每个小组数据依次利用所述第二常量数组、初始幻数、位移量和加密函数进行子循环处理,得到加密数据。6.一种数据加密装置,其特征在于,包括:第一获得单元,用于根据...

【专利技术属性】
技术研发人员:王子铭
申请(专利权)人:中国银行股份有限公司
类型:发明
国别省市:

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

1