本申请涉及计算机,特别是涉及一种加密方法、装置、计算机设备及存储介质。
背景技术:
1、在区块链技术中,现有的区块链的哈希算法为sha-2,生成256位哈希值,攻击者在破解时很难以直接破解。
2、然而,随着计算机算力的增加,攻击者使用专用的gpu、ai设备、专业的矿机设备和超算计算机等,可大幅提高哈希碰撞运算速度,降低哈希值的安全性。
技术实现思路
1、基于上述问题,本申请提供了一种加密方法、装置、计算机设备及存储介质,提高哈希值的安全性。
2、本申请实施例公开了如下技术方案:
3、第一方面,本申请实施例提供一种加密方法,所述方法包括:
4、获取链表中第m-1个简约函数对第m-1个哈希值进行处理之后的第m个密码,m为大于1的整数,所述密码由数组m构成;
5、根据差分进化算法对所述数组m进行处理,得到处理后的数组m,并根据所述处理后的数组m得到更新后的第m个密码;
6、根据所述更新后的第m个密码进行处理,得到第m个哈希值,并获取链表中第m个简约函数对所述第m个哈希值进行处理之后的第m+1个密码直至获取到第n个简约函数对第n个哈希值进行处理之后的第n+1个密码,n大于m+1。
7、可选地,所述方法还包括:
8、将所述第n+1个密码对应的数组n+1表示为数字信号形式的二维坐标;
9、所述二维坐标经拉普拉斯变换得到拉普拉斯变换值;
10、所述拉普拉斯变换值对第一个数组元素之和求余,得到位移值;
11、根据所述位移值对第n+1个密码中的字母进行位移处理,得到哈希值。
12、可选地,所述拉普拉斯变换值对第一个数组元素之和求余,得到位移值具体包括:
13、对所述拉普拉斯变换值进行整数化处理,得到整数化处理之后的拉普拉斯变换值;
14、根据所述整数化处理之后的拉普拉斯变换值对第一个数组元素之和求余,得到位移值。
15、可选地,所述根据所述位移值对第n+1个密码中的字母进行位移处理,得到哈希值,具体包括:
16、将所述第n+1个密码中的字母向前或向后移动所述位移值位数。
17、第二方面,本申请实施例提供一种加密装置,所述装置包括:获取模块、第一处理模块和第二处理模块;
18、所述获取模块,用于获取链表中第m-1个简约函数对第m-1个哈希值进行处理之后的第m个密码,m为大于1的整数,所述密码由数组m构成;
19、所述第一处理模块,用于根据差分进化算法对所述数组m进行处理,得到处理后的数组m,并根据所述处理后的数组m得到更新后的第m个密码;
20、所述第二处理模块,用于根据所述更新后的第m个密码进行处理,得到第m个哈希值;
21、所述获取模块,还用于得到第m个哈希值之后,获取链表中第m个简约函数对所述第m个哈希值进行处理之后的第m+1个密码直至获取到第n个简约函数对第n个哈希值进行处理之后的第n+1个密码,n大于m+1。
22、可选地,所述装置还包括:位移模块,所述位移模块包括转换单元、变换单元和位移单元;
23、所述转换单元,用于将所述第n+1个密码对应的数组n+1表示为数字信号形式的二维坐标;
24、所述变换单元,用于所述二维坐标经拉普拉斯变换得到拉普拉斯变换值;所述拉普拉斯变换值对第一个数组元素之和求余,得到位移值;
25、所述位移单元,用于根据所述位移值对第n+1个密码中的字母进行位移处理,得到哈希值。
26、可选地,所述变换单元,具体用于:
27、对所述拉普拉斯变换值进行整数化处理,得到整数化处理之后的拉普拉斯变换值;
28、根据所述整数化处理之后的拉普拉斯变换值对第一个数组元素之和求余,得到位移值。
29、可选地,所述位移单元,具体用于:
30、将所述第n+1个密码中的字母向前或向后移动所述位移值位数。
31、第三方面,本申请实施例提供一种计算机设备,包括:存储器,处理器,及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时,实现如第一方面任一项所述的加密方法。
32、第四方面,本申请实施例提供一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当所述指令在终端设备上运行时,使得所述终端设备执行如第一方面任一项所述的加密方法。
33、相较于现有技术,本申请具有以下有益效果:
34、首先,获取链表中第m-1个简约函数对第m-1个哈希值进行处理之后的第m个密码,m为大于1的整数,密码由数组m构成;然后,根据差分进化算法对数组m进行处理,得到处理后的数组m,并根据处理后的数组m得到更新后的第m个密码;最后,根据更新后的第m个密码进行处理,得到第m个哈希值,并获取链表中第m个简约函数对第m个哈希值进行处理之后的第m+1个密码直至获取到第n个简约函数对第n个哈希值进行处理之后的第n+1个密码,n大于m+1。通过引入差分进化算法,使得链表中的所有密码和对应的哈希值都发生了变化,进而提高了最终所得到的哈希值的安全性。
1.一种加密方法,其特征在于,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
3.根据权利要求2所述的方法,其特征在于,所述拉普拉斯变换值对第一个数组元素之和求余,得到位移值具体包括:
4.根据权利要求2所述的方法,其特征在于,所述根据所述位移值对第n+1个密码中的字母进行位移处理,得到哈希值,具体包括:
5.一种加密装置,其特征在于,所述装置包括:获取模块、第一处理模块和第二处理模块;
6.根据权利要求5所述的装置,其特征在于,所述装置还包括:位移模块,所述位移模块包括转换单元、变换单元和位移单元;
7.根据权利要求6所述的装置,其特征在于,所述变换单元,具体用于:
8.根据权利要求6所述的装置,其特征在于,所述位移单元,具体用于:
9.一种计算机设备,其特征在于,包括:存储器,处理器,及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时,实现如权利要求1-4任一项所述的加密方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有指令,当所述指令在终端设备上运行时,使得所述终端设备执行如权利要求1-4任一项所述的加密方法。