一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种基于SHA1算法的区块链哈希加密方法及装置与流程

2022-03-01 20:36:17 来源:中国专利 TAG:

一种基于sha1算法的区块链哈希加密方法及装置
技术领域
1.本发明涉及区块链技术领域,尤其涉及一种基于sha1算法的区块链哈希加密方法及装置。


背景技术:

2.现有的应用系统中广泛存在sha1算法,在应用到区块链中进行哈希值生成时,sha1算法生成160位的哈希值,且已使用多年,可能会被攻击者通过字典暴力破解,威胁哈希密文值的安全。
3.现有技术中,攻击者使用专用的gpu、ai设备,以及超算计算机等,可大幅提高哈希碰撞运算速度,因为哈希值较短,在积累了大量碰撞密码库后,存在暴力破解的可能性。


技术实现要素:

4.有鉴于此,本发明提供了一种基于sha1算法的区块链哈希加密方法及装置,用于解决现有技术中,攻击者使用专用的gpu、ai设备,以及超算计算机等,可大幅提高哈希碰撞运算速度,因为哈希值较短,在积累了大量碰撞密码库后,存在暴力破解的可能性的问题。具体方案如下:
5.一种基于sha1算法的区块链哈希加密方法,包括:
6.基于sha1算法将原始消息转换为第一缓冲区中间量、第二缓冲区中间量和第三缓冲区中间量;
7.将所述第二缓冲区中间量基于小波变换转换为第二目标缓冲区中间量,其中,所述第二缓冲区中间量与所述第二目标缓冲区中间量长度相同;
8.基于所述第二目标缓冲区中间量、所述第三缓冲区中间量对所述第一缓冲区中间量进行重新赋值,得到第一目标缓冲区中间量;
9.基于所述第一目标缓冲区中间量和所述第二目标缓冲区中间量确定加密摘要;
10.对所述加密摘要进行移位加密处理,得到目标加密摘要,其中,所述加密摘要与所述目标加密摘要长度相同。
11.上述的方法,可选的,基于sha1算法将原始消息转换为第一缓冲区中间量、第二缓冲区中间量和第三缓冲区中间量,包括:
12.将所述原始消息转换为位字符串;
13.获取第一缓冲区、第二缓冲区的容量;
14.依据每个缓冲区的容量,将所述位字符串中的对应字符存入对应缓冲区,得到所述第一缓冲区中间量和所述第二缓冲区中间量;
15.将所述位字符串转换为所述第三缓冲区中间量。
16.上述的方法,可选的,将所述第二缓冲区中间量基于小波变换转换为第二目标缓冲区中间量,包括:
17.对所述第二缓冲区中间量基于预设公式进行小波变换,得到第二目标缓冲区中间
量,其中,所述预设公式为
[0018][0019]
其中,a表示小波变换的尺度,用来控制小波函数的伸缩,τ表示平移量,控制小波函数的平移,ψ()是小波函数,t标识第二缓冲区中间量,wt() 表示第二目标缓冲区中间量。
[0020]
上述的方法,可选的,所述第一目标缓冲区中间量和所述第二目标缓冲区中间量至少为一个,基于所述第一目标缓冲区中间量和所述第二目标缓冲区中间量确定加密摘要,包括:
[0021]
确定与每个第一目标缓冲区中间量对应的第二目标缓冲区中间量;
[0022]
将与当前第一目标缓冲区中间量对应的第二目标缓冲区中间量求和,得到加密摘要。
[0023]
上述的方法,可选的,对所述加密摘要进行移位加密处理,得到目标加密摘要,包括:
[0024]
获取所述加密摘要中的各个数字,对所述各个数字进行求和,得到数字和;
[0025]
将所述数字和与预设数值进行取模处理,得到移位长度;
[0026]
基于所述移位长度对所述数字摘要进行移位处理,得到目标加密摘要。
[0027]
一种基于sha1算法的区块链哈希加密装置,包括:
[0028]
第一转换模块,用于基于sha1算法将原始消息转换为第一缓冲区中间量、第二缓冲区中间量和第三缓冲区中间量;
[0029]
第二转换模块,用于将所述第二缓冲区中间量基于小波变换转换为第二目标缓冲区中间量,其中,所述第二缓冲区中间量与所述第二目标缓冲区中间量长度相同;
[0030]
赋值模块,用于基于所述第二目标缓冲区中间量、所述第三缓冲区中间量对所述第一缓冲区中间量进行重新赋值,得到第一目标缓冲区中间量;
[0031]
确定模块,用于基于所述第一目标缓冲区中间量和所述第二目标缓冲区中间量确定加密摘要;
[0032]
加密模块,用于对所述加密摘要进行移位加密处理,得到目标加密摘要,其中,所述加密摘要与所述目标加密摘要长度相同。
[0033]
上述的装置,可选的,所述第一转换模块包括:
[0034]
第一转换单元,用于将所述原始消息转换为位字符串;
[0035]
获取单元,用于获取第一缓冲区、第二缓冲区的容量;
[0036]
存储单元,用于依据每个缓冲区的容量,将所述位字符串中的对应字符存入对应缓冲区,得到所述第一缓冲区中间量和所述第二缓冲区中间量;
[0037]
第二转换单元,用于将所述位字符串转换为所述第三缓冲区中间量。
[0038]
上述的装置,可选的,所述第二转换模块包括:
[0039]
小波变换单元,用于对所述第二缓冲区中间量基于预设公式进行小波变换,得到第二目标缓冲区中间量,其中,所述预设公式为
[0040]
[0041]
其中,a表示小波变换的尺度,用来控制小波函数的伸缩,τ表示平移量,控制小波函数的平移,ψ()是小波函数,t标识第二缓冲区中间量,wt() 表示第二目标缓冲区中间量。
[0042]
上述的装置,可选的,所述第一目标缓冲区中间量和所述第二目标缓冲区中间量至少为一个,所述确定模块包括:
[0043]
确定单元,用于确定与每个第一目标缓冲区中间量对应的第二目标缓冲区中间量;
[0044]
求和单元,用于将与当前第一目标缓冲区中间量对应的第二目标缓冲区中间量求和,得到加密摘要。
[0045]
上述的装置,可选的,所述加密模块包括:
[0046]
获取和求和单元,用于获取所述加密摘要中的各个数字,对所述各个数字进行求和,得到数字和;
[0047]
取模单元,用于将所述数字和与预设数值进行取模处理,得到移位长度;
[0048]
移位处理单元,用于基于所述移位长度对所述数字摘要进行移位处理,得到目标加密摘要。
[0049]
与现有技术相比,本发明包括以下优点:
[0050]
本发明公开了一种基于sha1算法的区块链哈希加密方法及装置,应用于人工智能领域、区块链领域以及金融领域,该方法包括:基于sha1算法将原始消息转换为第一缓冲区中间量、第二缓冲区中间量和第三缓冲区中间量;将第二缓冲区中间量基于小波变换转换为第二目标缓冲区中间量;基于第二目标缓冲区中间量、第三缓冲区中间量对第一缓冲区中间量进行重新赋值,得到第一目标缓冲区中间量;基于第一目标缓冲区中间量和第二目标缓冲区中间量确定加密摘要;对加密摘要进行移位加密处理,得到目标加密摘要,其中,目标加密摘要与加密摘要长度相同。上述过程,在加密摘要和目标加密摘要长度不变的情况下,提高了加密的复杂度,降低了暴力破解的风险。
附图说明
[0051]
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0052]
图1为本技术实施例公开的一种基于sha1算法的区块链哈希加密方法流程图;
[0053]
图2为本技术实施例公开的一种基于sha1算法的区块链哈希加密装置结构框图。
具体实施方式
[0054]
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0055]
需要说明的是,本发明提供的一种基于sha1算法的区块链哈希加密方法及装置可
用于人工智能领域、区块链领域及金融领域。上述仅为示例,并不对本发明提供的一种基于sha1算法的区块链哈希加密方法及装置的应用领域进行限定。
[0056]
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
[0057]
本发明公开了一种基于sha1算法的区块链哈希加密方法及装置,应用于对区块链中基于sha1算法进行加密的过程中,sha1算法生成160位的哈希值,因为哈希值较短,且已使用多年,在积累了大量碰撞密码库后,存在暴力破解的可能性,攻击者使用专用的gpu、ai设备,以及超算计算机等,可大幅提高哈希碰撞运算速度,对目前的sha1算法产生的哈希撞库威胁增加;sha1算法作为一种曾经广泛使用的加密算法,在政府、金融、通讯、能源事业单位等领域还在广泛使用,对现有算法进行优化,显著增强其安全性,以适应业务融合区块链的要求有着比较显著的经济意义。基于上述的问题,本发明实施例中提供了一种基于sha1算法的区块链哈希加密方法,所述方法的执行流程如图1所示,包括步骤:
[0058]
s101、基于sha1算法将原始消息转换为第一缓冲区中间量、第二缓冲区中间量和第三缓冲区中间量;
[0059]
本发明实施例中,所述原始信息可以为字符串或者文件等,本发明实施例中对所述原始信息的具体存在形式不进行限定,首先需要将所述原始信息转换为位字符串,其中,所述位字符串为512位,所述原始信息中包含至少一个位字符串,转换过程如下:
[0060]
获取所述原始信息的长度,所述长度满足在对512取模以后的余数是 448,若不满足,可以进行补位和补长度处理,具体的处理过程如下:先补一个1,然后再补0,直到长度满足对512取模后余数是448。将所述原始数据的长度补到已经进行了补位操作的消息后面。通常用一个64位的数据来表示所述原始消息的长度,如果消息长度不大于2^64,那么第一个字就是0,将该消息作为数据块,其中,所述数据块为位字符串;如果原始的消息长度超过了512,需要将它补成512的倍数。然后把整个消息分成一个一个512位的数据块,分别处理每一个数据块。
[0061]
进一步的,针对每一个数据块,将其中对应的部分分别存储到第一缓冲区、第二缓冲区和剩余缓冲区,其中,所述第一缓冲区和所述第二缓冲区的容量为5个32位的字组成,所述剩余缓冲区的容量为80个32位字的缓冲区。假设,所述第一缓冲区的5个字的缓冲区被标识为a,b,c,d,e。所述第二缓冲区的5个字的缓冲区被标识为h0,h1,h2,h3,h4,所述剩余缓冲区80 个字的缓冲区被标识为w0,w1,...,w79。基于所述第一缓冲区和所述第二缓冲区的容量,将所述位字符串中的对应字符存入对应缓冲区,得到所述第一缓冲区中间量和所述第二缓冲区中间量,将所述位字符串的其余对应字符存入所述剩余缓冲区。
[0062]
进一步的,将所述位字符串分成16个字p0,p1,...,p15,其中,pi为32 位的字,i=12

15,将p0,p1,...,p15,作为第三缓冲区中间量。
[0063]
s102、将所述第二缓冲区中间量基于小波变换转换为第二目标缓冲区中间量,其中,所述第二缓冲区中间量与所述第二目标缓冲区中间量长度相同;
[0064]
本发明实施例中,将所述第二缓冲区基于小波变换转换为第二目标缓冲区中间
量,假设所述第二缓冲区中的第二缓冲区中间量{hi}被初始化为如下值:
[0065]
h0=0x67452301
[0066]
h1=0xefcdab89
[0067]
h2=0x98badcfe
[0068]
h3=0x10325476
[0069]
h4=0xc3d2e1f0
[0070]
然后对h0,h1,h2,h3,h4分别使用小波变换,小波变换公式如下:
[0071][0072]
其中,a表示小波变换的尺度,用来控制小波函数的伸缩,τ表示平移量,控制小波函数的平移。ψ()是小波函数,t标识第二缓冲区中间量,wt()表示第二目标缓冲区中间量。
[0073]
基于公式1将所述第二缓冲区中间转换为第二目标缓冲区中间量,其中,所述第二目标缓冲区中间量为h0’,h1’,h2’,h3’,h4’,其中,所述第二缓冲区中间量与所述第二目标缓冲区中间量长度相同。
[0074]
s103、基于所述第二目标缓冲区中间量、所述第三缓冲区中间量对所述第一缓冲区中间量进行重新赋值,得到第一目标缓冲区中间量;
[0075]
本发明实施例中,在使用的常量的情况下,一系列常量k(0),k(1),..., k(79),如果以16进制表示如下:
[0076]
kt=0x5a827999(0《=t《=19)
[0077]
kt=0x6ed9eba1(20《=t《=39)
[0078]
kt=0x8f1bbcdc(40《=t《=59)
[0079]
kt=0xca62c1d6(60《=t《=79).
[0080]
在需要使用的函数的情况下,在sha1中我们需要一系列的函数。每个函数ft(0《=t《=79)都操作32位字b,c,d并且产生32位字作为输出。 ft(b,c,d)可以如下定义:
[0081]
ft(b,c,d)=(b and c)or((not b)and d)(0《=t《=19)
[0082]
ft(b,c,d)=b xor c xor d(20《=t《=39)
[0083]
ft(b,c,d)=(b and c)or(b and d)or(c and d)(40《=t《=59)
[0084]
ft(b,c,d)=b xor c xor d(60《=t《=79).
[0085]
假设所述位字符串为mi,为了处理mi,需要进行下面的步骤
[0086]

将mi分成16个字p0,p1,...,p15;
[0087]

对于t=16~79令pt=s1(pt-3 xor pt-8 xor pt-14 xor pt-16)
[0088]

令a=h0’,b=h1’,c=h2’,d=h3’,e=h4’[0089]
然后对于t=0~79,执行下面的循环
[0090]
temp=s5(a) ft(b,c,d) e pt kt,其中,temp表示一个一个字的 temp缓冲区e=d;d=c;c=s30(b);b=a;a=temp,完成了对所述第一缓冲区中间量的更新,得到第一目标缓冲区中间量。
[0091]
s104、基于所述第一目标缓冲区中间量和所述第二目标缓冲区中间量确定加密摘要;
[0092]
本发明实施例中,确定与每个第一目标缓冲区中间量对应的第二目标缓冲区中间量,即h0’与a对应,h1’与b对应,h2’与c对应,h3’与d对应, h4’与e对应,将与当前第一目标缓冲区中间量对应的第二目标缓冲区中间量求和,得到加密摘要,即h00=h0’ a,h11=h1’ b,h22=h2’ c,h33=h3’ d,h 44=h4’ e。
[0093]
s105、对所述加密摘要进行移位加密处理,得到目标加密摘要,其中,所述加密摘要与所述目标加密摘要长度相同。
[0094]
本发明实施例中,对所述加密摘要进行凯撒移位,首先确定移位长度,确定过程如下:移位长度为所述加密摘要中数字相加之和与预设数值进行取模处理的结果,假设所述加密摘要中数字组成的字符串为x=(x1,x2,...,xn),所述预设数值为10,本发明实施例中,对所述预设数值的具体取值不限定。
[0095]
令sum=y (xn*2-9) xn-1 (xn-1-9) xn-3 ... (x2-9) x1
[0096]
sum模10为0,即求得y值,y为移位长度,若y为奇数加密字符串执行左移,y为偶数则加密字符串执行右移。
[0097]
基于所述移位长度对所述加密摘要进行移位处理,得到目标加密摘要。
[0098]
本发明公开了一种基于sha1算法的区块链哈希加密方法,应用于人工智能领域、区块链领域以及金融领域,该方法包括:基于sha1算法将原始消息转换为第一缓冲区中间量、第二缓冲区中间量和第三缓冲区中间量;将第二缓冲区中间量基于小波变换转换为第二目标缓冲区中间量;基于第二目标缓冲区中间量、第三缓冲区中间量对第一缓冲区中间量进行重新赋值,得到第一目标缓冲区中间量;基于第一目标缓冲区中间量和第二目标缓冲区中间量确定加密摘要;对加密摘要进行移位加密处理,得到目标加密摘要,其中,目标加密摘要与加密摘要长度相同。上述过程,在加密摘要和目标加密摘要长度不变的情况下,提高了加密的复杂度,降低了暴力破解的风险。
[0099]
本发明实施例中,使用小波变换改动量较小,不影响算法的运行效率,但显著增加了密码复杂度;第三部分处理后使密码在长度不变的基础上,对加密摘要进行二次加密,加密处理值具有唯一性,当被加密对象发生了一位及以上的改变时,二次加密随机值中至少2/3长度以上的值会发生显著变化,即算法的雪崩效应,进而显著增强了密码复杂性,增加了暴力破解的工作量,在现有的硬件性能和运算成本消耗下,以暴利破解的方式来攻破密文哈希值几乎不可能实现。
[0100]
本发明实施例中在基于sha1一轮加密后,将一轮加密的值作为小波变换的输入,小波变换处理后,得到的值作为二轮加密的输入将上述步骤处理后的值,经过sha1的四轮加密后,对四轮加密的输出结果作凯撒移位处理,移位值由密文值中的数字部分确定,此种加密处理具有雪崩效应,被加密报文的极小的变化,都会引起随机数的显著改变,从而大大增强密码的安全性,使攻击者在现有的计算设备的算力和经济投入下,逆向破解几乎不可能,经过该加密方法处理后,被加密报文的长度无变化,不影响区块链使用方接口、栏位长度的调整、改动量极小,可以较好的兼顾融合现有的算法,对系统性能的影响也较小,且在不同编程语言、操作系统上实现较为容易,可以满足金融业务系统中区块链各种使用场景的要求。
[0101]
本发明实施例中新增了sha1哈希密码的二次小波变换算法处理,使用了凯撒移位处理方式,以上处理步骤,在保持密文长度不变的情况下,使攻击者传统的sha1算法暴力破
解攻击破解和密码字典失效,且在目前的业务系统常用的sha1算法加密算法基础上进行改动,使此种区块链哈希值加密算法的改进和使用难度显著降低,并且对现有系统的性能、接口、报文格式等的影响较小。显著增强密码的复杂性、抗穷举性,且使密文密码长度仍为 160位,更好的兼容现有业务系统,降低了现有业务系统改造接入区块链的工作量较小。另外,所述加密方法,可以满足多语言、跨平台编程的需要,也适合在低功耗低性能的iot终端使用,扩展了区块链应用场景,便于实现去中心化和万物互联。
[0102]
基于上述的一种基于sha1算法的区块链哈希加密方法,本发明实施例中还提供了一种基于sha1算法的区块链哈希加密装置,所述加密装置的结构框图如图2所示,包括:
[0103]
第一转换模块201、第二转换模块202、赋值模块203、确定模块204和加密模块205。
[0104]
其中,
[0105]
所述第一转换模块201,用于基于sha1算法将原始消息转换为第一缓冲区中间量、第二缓冲区中间量和第三缓冲区中间量;
[0106]
所述第二转换模块202,用于将所述第二缓冲区中间量基于小波变换转换为第二目标缓冲区中间量,其中,所述第二缓冲区中间量与所述第二目标缓冲区中间量长度相同;
[0107]
所述赋值模块203,用于基于所述第二目标缓冲区中间量、所述第三缓冲区中间量对所述第一缓冲区中间量进行重新赋值,得到第一目标缓冲区中间量;
[0108]
所述确定模块204,用于基于所述第一目标缓冲区中间量和所述第二目标缓冲区中间量确定加密摘要;
[0109]
所述加密模块205,用于对所述加密摘要进行移位加密处理,得到目标加密摘要,其中,所述加密摘要与所述目标加密摘要长度相同。
[0110]
本发明公开了一种基于sha1算法的区块链哈希加密装置,应用于人工智能领域、区块链领域以及金融领域,该方法包括:基于sha1算法将原始消息转换为第一缓冲区中间量、第二缓冲区中间量和第三缓冲区中间量;将第二缓冲区中间量基于小波变换转换为第二目标缓冲区中间量;基于第二目标缓冲区中间量、第三缓冲区中间量对第一缓冲区中间量进行重新赋值,得到第一目标缓冲区中间量;基于第一目标缓冲区中间量和第二目标缓冲区中间量确定加密摘要;对加密摘要进行移位加密处理,得到目标加密摘要,其中,目标加密摘要与加密摘要长度相同。上述过程,在加密摘要和目标加密摘要长度不变的情况下,提高了加密的复杂度,降低了暴力破解的风险。
[0111]
本发明实施例中,所述第一转换模块201包括:
[0112]
第一转换单元206、获取单元207、存储单元208和第二转换单元209。
[0113]
其中,
[0114]
所述第一转换单元206,用于将所述原始消息转换为位字符串;
[0115]
所述获取单元207,用于获取第一缓冲区、第二缓冲区的容量;
[0116]
所述存储单元208,用于依据每个缓冲区的容量,将所述位字符串中的对应字符存入对应缓冲区,得到所述第一缓冲区中间量和所述第二缓冲区中间量;
[0117]
所述第二转换单元209,用于将所述位字符串转换为所述第三缓冲区中间量。
[0118]
本发明实施例中,所述第二转换模块202包括:小波变换单元210。
[0119]
其中,
[0120]
所述小波变换单元210,用于对所述第二缓冲区中间量基于预设公式进行小波变
换,得到第二目标缓冲区中间量,其中,所述预设公式为
[0121][0122]
其中,a表示小波变换的尺度,用来控制小波函数的伸缩,τ表示平移量,控制小波函数的平移。ψ()是小波函数,t标识第二缓冲区中间量,wt() 表示第二目标缓冲区中间量。
[0123]
本发明实施例中,所述第一目标缓冲区中间量和所述第二目标缓冲区中间量至少为一个,所述确定模块204包括:
[0124]
确定单元211和求和单元212。
[0125]
其中,
[0126]
所述确定单元211,用于确定与每个第一目标缓冲区中间量对应的第二目标缓冲区中间量;
[0127]
所述求和单元212,用于将与当前第一目标缓冲区中间量对应的第二目标缓冲区中间量求和,得到加密摘要。
[0128]
本发明实施例中,所述加密模块205包括:
[0129]
获取和求和单元213、取模单元214和移位处理单元215。
[0130]
其中,
[0131]
所述获取和求和单元213,用于获取所述加密摘要中的各个数字,对所述各个数字进行求和,得到数字和;
[0132]
所述取模单元214,用于将所述数字和与预设数值进行取模处理,得到移位长度;
[0133]
所述移位处理单元215,用于基于所述移位长度对所述数字摘要进行移位处理,得到目标加密摘要。
[0134]
所述加密装置包括处理器和存储器,上述第一转换模块、第二转换模块、幅值模块、确定模块和加密模块等均作为程序单元存储在存储器中,由处理器执行存储在存储器中的上述程序单元来实现相应的功能。
[0135]
处理器中包含内核,由内核去存储器中调取相应的程序单元。内核可以设置一个或以上,在密文长度不变的情况下,加密的复杂度增加,降低了暴力破解的风险。
[0136]
存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器 (ram)和/或非易失性内存等形式,如只读存储器(rom)或闪存(flash ram),存储器包括至少一个存储芯片。
[0137]
本发明实施例提供了一种存储介质,其上存储有程序,该程序被处理器执行时实现所述基于sha1算法的区块链哈希加密方法。
[0138]
本发明实施例提供了一种处理器,所述处理器用于运行程序,其中,所述程序运行时执行所述基于sha1算法的区块链哈希加密方法。
[0139]
本发明实施例提供了一种设备,设备包括处理器、存储器及存储在存储器上并可在处理器上运行的程序,处理器执行程序时实现以下步骤:
[0140]
基于sha1算法将原始消息转换为第一缓冲区中间量、第二缓冲区中间量和第三缓冲区中间量;
[0141]
将所述第二缓冲区中间量基于小波变换转换为第二目标缓冲区中间量,其中,所
述第二缓冲区中间量与所述第二目标缓冲区中间量长度相同;
[0142]
基于所述第二目标缓冲区中间量、所述第三缓冲区中间量对所述第一缓冲区中间量进行重新赋值,得到第一目标缓冲区中间量;
[0143]
基于所述第一目标缓冲区中间量和所述第二目标缓冲区中间量确定加密摘要;
[0144]
对所述加密摘要进行移位加密处理,得到目标加密摘要,其中,所述加密摘要与所述目标加密摘要长度相同。
[0145]
上述的方法,可选的,基于sha1算法将原始消息转换为第一缓冲区中间量、第二缓冲区中间量和第三缓冲区中间量,包括:
[0146]
将所述原始消息转换为位字符串;
[0147]
获取第一缓冲区、第二缓冲区的容量;
[0148]
依据每个缓冲区的容量,将所述位字符串中的对应字符存入对应缓冲区,得到所述第一缓冲区中间量和所述第二缓冲区中间量;
[0149]
将所述位字符串转换为所述第三缓冲区中间量。
[0150]
上述的方法,可选的,将所述第二缓冲区中间量基于小波变换转换为第二目标缓冲区中间量,包括:
[0151]
对所述第二缓冲区中间量基于预设公式进行小波变换,得到第二目标缓冲区中间量,其中,所述预设公式为
[0152][0153]
其中,a表示小波变换的尺度,用来控制小波函数的伸缩,τ表示平移量,控制小波函数的平移。ψ()是小波函数,t标识第二缓冲区中间量,wt() 表示第二目标缓冲区中间量。
[0154]
上述的方法,可选的,所述第一目标缓冲区中间量和所述第二目标缓冲区中间量至少为一个,基于所述第一目标缓冲区中间量和所述第二目标缓冲区中间量确定加密摘要,包括:
[0155]
确定与每个第一目标缓冲区中间量对应的第二目标缓冲区中间量;
[0156]
将与当前第一目标缓冲区中间量对应的第二目标缓冲区中间量求和,得到加密摘要。
[0157]
上述的方法,可选的,对所述加密摘要进行移位加密处理,得到目标加密摘要,包括:
[0158]
获取所述加密摘要中的各个数字,对所述各个数字进行求和,得到数字和;
[0159]
将所述数字和与预设数值进行取模处理,得到移位长度;
[0160]
基于所述移位长度对所述数字摘要进行移位处理,得到目标加密摘要。需要说明的是,本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。对于装置类实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
[0161]
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作
之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
[0162]
为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本发明时可以把各单元的功能在同一个或多个软件和/或硬件中实现。
[0163]
通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本发明可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如rom/ram、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例或者实施例的某些部分所述的方法。
[0164]
以上对本发明所提供的一种基于sm2算法的区块链哈希加密方法及装置进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献