一种哈希密文再加密方法及再加密后的解密方法

文档序号:6546318阅读:296来源:国知局
一种哈希密文再加密方法及再加密后的解密方法
【专利摘要】本发明公开了一种哈希密文再加密方法及再加密后的解密方法,再加密方法包括步骤:一、设定固定的第一噪声插入位置或设定取得第一噪声插入位置的静态策略,二、从第一噪声插入位置处将原始哈希密文分成前半哈希密文和第一后半哈希密文,三、随机生成一个噪声字符串,四、在第一后半哈希密文中找一个第二噪声插入位置,并在第二噪声插入位置处插入噪声字符串,形成带噪声后半哈希密文,五、生成再加密好的噪声密文;解密方法包括步骤:一、取得第一噪声插入位置,二、取得第二噪声插入位置和噪声字符串的长度,三、形成带噪声后半哈希密文,四、形成第一后半哈希密文,五、生成解密后的原始哈希密文。本发明能够加强原始哈希密文的安全性,开销小。
【专利说明】—种哈希密文再加密方法及再加密后的解密方法
【技术领域】
[0001]本发明属于加密【技术领域】,具体涉及一种哈希密文再加密方法及再加密后的解密方法。
【背景技术】
[0002]现有的用户名加密的技术有MD5、SHA等加密手段。MD5加密的主要方式是将用户的明文进行哈希加密形成密文,然后将密文存储在数据库里面,以后用户登录时,将其输入的密码转换成MD5码后与数据库存储的密文进行比对,判断是否一致。虽然密码在经过MD5加密后的128bit的大整数是无法通过数学方式解密的,换句话说就是,即使你看到源程序和算法描述,也无法将一个MD5的值变换回原始的字符串,从数学原理上说,是因为原始的字符串有无穷多个,这有点像不存在反函数的数学函数。但是,这样的加密方式并不意味着百分之百的安全。原因在于,现在很多网络的资源可以通过使用字典方式来枚举MD5码的密文,从而通过这种对应的方式破解MD5加密之后的密文,获得用户登录密码的明文。虽然,MD5码加密不存在逆过程,对于较为复杂的用户密码,MD5码加密之后很难通过枚举的手段进行破译。但是,数量众多的用户密码并不都是复杂的密码,这就为用户的信息安全带来了大量的问题。例如:有一用户的登录密码为“mynewpassword”,在http://tool.chinaz.com/TooIs/MD5.aspx 网站经过 MD5 加密之后,其密文为 “8E70383C69F7A3B7EA3F71B02F3E9731”,系统将此密文存储到数据库中,日后登录时进行比对,判断登录用户身份是否合法。但是,此密文一旦泄露,虽然无法使用数学方式反解,但我们还是可以通过其他手段取得其对应的明文,例如,在http://www.md5.com.cn/md5这个网站中,可以将密文“8E70383C69F7A3B7EA3F71B02F3E9731”输入到对话框中,点击MD5Crack按钮后,与其对应的明文“mynewpassword”就会被显示出来。经过试验,对于并不是很复杂的用户密码的MD5密文,该网站都可以对其进行解密。从这一点就可以说明,现在广泛使用的MD5加密手段并不是十分的可靠。SHA加密与MD5加密相似,均由MD4加密导出,是美国国家标准技术研究所发布的国家标准FIPS PUB180,最新的标准已经于2008年更新到FIPS PUB180-3。其中规定了 SHA-l,SHA-224,SHA-256,SHA-384,和 SHA-512 这几种单向散列算法。SHA-1,SHA-224和SHA-256适用于长度不超过2~64 二进制位的消息,SHA-384和SHA-512适用于长度不超过2~128 二进制位的消息;SHA加密的思想是接收一段明文,然后以一种不可逆的方式将它转换成一段(通常更小)密文,也可以简单的理解为取一串输入码(称为预映射或信息),并把它们转化为长度较短、位数固定的输出序列即散列值(也称为信息摘要或信息认证代码)的过程。SHA加密的强度与MD5加密也很相似,也存在不是十分可靠的缺陷。为了解决以上问题,现有技术中有时会对密文进行其它格式的编码转码,例如,对哈希密文进行ASCII,GB2312或者UTF8编码,或者转换成Base64字符串,但是,编码转码方式简单,非常容易被破解。因此,需要有一种新的加密手段对MD5加密后的密文再次进行加密,即便数据库中的密文泄露之后,也很难使用这种枚举方式进行破译。另外,现有技术对用户明文进行加密,得到密文,若再次对密文进行加密,虽然可以提高密文的加密强度,但是所带来的加密解密开销会大大增加。

【发明内容】

[0003]本发明所要解决的技术问题在于针对上述现有技术中的不足,提供一种高效、快速、能够进一步加强原始哈希密文的安全性、加密开销小、实用性强的哈希密文再加密方法。
[0004]为解决上述技术问题,本发明采用的技术方案是:一种哈希密文再加密方法,其特征在于该方法包括以下步骤:
[0005]步骤一、设定一个固定的第一噪声插入位置NI,或者设定一种取得第一噪声插入位置NI的静态策略;其中,NI为自然数且N1〈L3,L3为原始哈希密文的长度且为自然数;
[0006]步骤二、从所述第一噪声插入位置NI处将原始哈希密文分成前半哈希密文和第一后半哈希S文;
[0007]步骤三、随机生成一个噪声字符串,所述噪声字符串的长度LI的取值范围为0〈L1〈10, LI为自然数;
[0008]步骤四、在所述第一后半哈希密文中随机找一个插入所述噪声字符串的第二噪声插入位置N2,并在所述第二噪声插入位置N2处插入所述噪声字符串,形成带噪声后半哈希密文;其中,N2的取值范围为0〈N2〈10,N2为自然数且N2〈L2,L2为所述第一后半哈希密文的长度且为自然数;
[0009]步骤五、将所述前半哈希密文、第二噪声插入位置N2、噪声字符串的长度LI和带噪声后半哈希密文依次合并,生成再加密好的噪声密文。
[0010]上述的一种哈希密文再加密方法,其特征在于:步骤一中所述取得第一噪声插入位置NI的静态策略为:所述第一噪声插入位置NI为原始哈希密文所对应的用户密码字符串的长度整除2的商。
[0011]上述的一种哈希密文再加密方法,其特征在于:步骤一中所述取得第一噪声插入位置NI的静态策略为:所述第一噪声插入位置NI为原始哈希密文所对应的用户密码字符串的第一个字符的ASCII码和最后一个字符的ASCII码之和整除原始哈希密文所对应的用户密码字符串的长度的余数。
[0012]上述的一种哈希密文再加密方法,其特征在于:步骤一中所述取得第一噪声插入位置NI的静态策略为:所述第一噪声插入位置NI为原始哈希密文的第十个字符的ASCII码和第二十字符的ASCII码之和整除原始哈希密文所对应的用户密码字符串的长度的余数。
[0013]上述的一种哈希密文再加密方法,其特征在于:步骤三中所述噪声字符串中每一位字符的取值范围为O?9和a?f。
[0014]上述的一种哈希密文再加密方法,其特征在于:步骤三中所述噪声字符串中每一位字符的取值范围为O?9和A?F。
[0015]本发明还提供了一种高效、快速、开销小、实用性强的哈希密文再加密后的解密方法,其特征在于该方法包括以下步骤:
[0016]步骤一、取得第一噪声插入位置NI的值;
[0017]步骤二、根据所述第一噪声插入位置NI,从所述再加密好的噪声密文中,取得所述第二噪声插入位置N2的值和噪声字符串的长度LI的值;
[0018]步骤三、从所述第一噪声插入位置NI处将所述再加密好的噪声密文分成前半哈希密文和第二后半哈希密文,并在所述第二后半哈希密文中去掉前两位,形成带噪声后半哈希密文;
[0019]步骤四、在所述带噪声后半哈希密文中,根据所述第二噪声插入位置N2和所述噪声字符串的长度LI,去掉所述噪声字符串,形成第一后半哈希密文;
[0020]步骤五、将所述前半哈希密文和第一后半哈希密文依次合并,生成解密后的原始哈希密文。
[0021]本发明与现有技术相比具有以下优点:
[0022]1、本发明的加密与解密方法简单,实现方便。
[0023]2、本发明的加密方法采用了固定设置或采用静态策略设置第一噪声插入位置的方法,并采用了在第一后半哈希密文中随机设置第二噪声插入位置的方法,通过在第一噪声插入位置和第二噪声插入位置插入噪声字符,能够对哈希密封进行高效、快速的再加密,在哈希密文中加入了无用的干扰字符,就像在音乐里添加噪声一样,使得破解者无法分离出原始哈希密文,进一步加强了哈希密文的加密强度,使得哈希密文的破解难度更高,并且,解密时也不会增加过多的开销,此开销基本可以忽略不计,从而保证了加密解密的高效性和安全性。
[0024]3、本发明加密解密操作的开销在微秒级别,所带来的加密解密开销非常小。
[0025]4、本发明的实用性强,便于推广使用。
[0026]综上所述,本发明的方法简单,实现方便,能够高效、快速的对哈希密文进行再加密和再加密后的解密,能够进一步加强原始哈希密文的安全性,加密解密开销小,实用性强,便于推广使用。
[0027]下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。
【专利附图】

【附图说明】
[0028]图1为本发明哈希密文再加密方法的方法流程框图。
[0029]图2为本发明哈希密文再加密后的解密方法的方法流程框图。
【具体实施方式】
[0030]实施例1
[0031]如图1所示,本发明哈希密文再加密方法,包括以下步骤:
[0032]步骤一、设定一个固定的第一噪声插入位置NI,或者设定一种取得第一噪声插入位置NI的静态策略;其中,NI为自然数且N1〈L3,L3为原始哈希密文的长度且为自然数;这个固定的第一噪声插入位置NI和取得第一噪声插入位置NI的静态策略只有加密者和解密者知道;
[0033]本实施例中,所述原始哈希密文为:
[0034]afl460a7f2732e78165c5bcfce66769c,所述原始哈希密文的长度 L3 为 32,所述原始哈希密文所对应的用户密码字符串为:myNeWPaSSWOrd,所述用户密码字符串的长度为13 ;设定的固定的第一噪声插入位置NI = 4 ;[0035]步骤二、从所述第一噪声插入位置NI处将原始哈希密文分成前半哈希密文和第一后半哈希S文;
[0036]本实施例中,所述前半哈希密文为afl4,所述第一后半哈希密文为60a7f2732e78165c5bcfce66769c ;
[0037]步骤三、随机生成一个噪声字符串,所述噪声字符串的长度LI的取值范围为0〈L1〈10, LI为自然数;
[0038]本实施例中,步骤三中所述噪声字符串中每一位字符的取值范围为O?9和a?f,能够使得噪声字符串与原始哈希密文的相似度更高,进一步提高了加密的安全性;具体实施时,采用了随机噪声生成函数RandomO生成一个噪声字符串,生成的所述噪声字符串为0af3el30b,所述噪声字符串的长度LI的取值为9 ;
[0039]步骤四、在所述第一后半哈希密文中随机找一个插入所述噪声字符串的第二噪声插入位置N2,并在所述第二噪声插入位置N2处插入所述噪声字符串,形成带噪声后半哈希密文;其中,N2的取值范围为0〈N2〈10,N2为自然数且N2〈L2,L2为所述第一后半哈希密文的长度且为自然数;
[0040]本实施例中,所述第一后半哈希密文的长度L2的取值为28,所述第二噪声插入位置N2的取值为6,形成的带噪声后半哈希密文为:60a7f20af3el30b732e78165c5bcfce66769c0
[0041]步骤五、将所述前半哈希密文、第二噪声插入位置N2、噪声字符串的长度LI和带噪声后半哈希密文依次合并,生成再加密好的噪声密文。
[0042]本实施例中,生成的再加密好的噪声密文为:
[0043]afl46960a7f20af3el30b732e78165c5bcfce66769c。
[0044]如图2所示,本发明哈希密文再加密后的解密方法,包括以下步骤:
[0045]步骤一、取得第一噪声插入位置NI的值;
[0046]本实施例中,取得的第一噪声插入位置NI的值为4 ;
[0047]步骤二、根据所述第一噪声插入位置NI,从所述再加密好的噪声密文中,取得所述第二噪声插入位置N2的值和噪声字符串的长度LI的值;
[0048]本实施例中,取得的所述第二噪声插入位置N2的值为6,所述噪声字符串的长度LI的值为9 ;
[0049]步骤三、从所述第一噪声插入位置NI处将所述再加密好的噪声密文分成前半哈希密文和第二后半哈希密文,并在所述第二后半哈希密文中去掉前两位,即去掉了所述第二噪声插入位置N2的值和所述噪声字符串的长度LI的值,形成带噪声后半哈希密文;
[0050]本实施例中,所述再加密好的噪声密文为:
[0051]afl46960a7f20af3el30b732e78165c5bcfce66769c,
[0052]所述前半哈希密文为:afl4,
[0053]所述第二后半哈希密文为:
[0054]6960a7f20af3el30b732e78165c5bcfce66769c,
[0055]在所述第二后半哈希密文中去掉前两位后形成的带噪声后半哈希密文为:60a7f20af3el30b732e78165c5bcfce66769c ;
[0056]步骤四、在所述带噪声后半哈希密文中,根据所述第二噪声插入位置N2和所述噪声字符串的长度LI,去掉所述噪声字符串,形成第一后半哈希密文;
[0057]本实施例中,形成的所述第一后半哈希密文为:
[0058]60a7f2732e78165c5bcfce66769c ;
[0059]步骤五、将所述前半哈希密文和第一后半哈希密文依次合并,生成解密后的原始哈希密文。
[0060]本实施例中,生成的解密后的原始哈希密文为:
[0061]afl460a7f2732e78165c5bcfce66769c,解密后的原始哈希密文与用户密码字符串所对应的原始哈希密文完全符合。
[0062]实施例2
[0063]如图1所示,本发明哈希密文再加密方法,包括以下步骤:
[0064]步骤一、设定一个固定的第一噪声插入位置NI,或者设定一种取得第一噪声插入位置NI的静态策略;其中,NI为自然数且N1〈L3,L3为原始哈希密文的长度且为自然数;这个固定的第一噪声插入位置NI和取得第一噪声插入位置NI的静态策略只有加密者和解密者知道;
[0065]本实施例中,所述原始哈希密文为:
[0066]AF1460A7F2732E78165C5BCFCE66769C,所述原始哈希密文的长度 L3 为 32,所述原始哈希密文所对应的用户密码字符串为:myNeWPaSSWOrd,所述用户密码字符串的长度为13 ;取得第一噪声插入位置NI的静态策略为:所述第一噪声插入位置NI为原始哈希密文所对应的用户密码字符串的长度整除2的商,由于用户密码字符串的长度为13,因此NI =6 ;
[0067]步骤二、从所述第一噪声插入位置NI处将原始哈希密文分成前半哈希密文和第一后半哈希S文;
[0068]本实施例中,所述前半哈希密文为AF1460,所述第一后半哈希密文为A7F2732E78165C5BCFCE66769C ;
[0069]步骤三、随机生成一个噪声字符串,所述噪声字符串的长度LI的取值范围为0〈L1〈10,L1为自然数;
[0070]本实施例中,步骤三中所述噪声字符串中每一位字符的取值范围为O?9和A?F,能够使得噪声字符串与原始哈希密文的相似度更高,进一步提高了加密的安全性;具体实施时,采用了随机噪声生成函数RandomO生成一个噪声字符串,生成的所述噪声字符串为0AFE2130B,所述噪声字符串的长度LI的取值为9 ;
[0071]步骤四、在所述第一后半哈希密文中随机找一个插入所述噪声字符串的第二噪声插入位置N2,并在所述第二噪声插入位置N2处插入所述噪声字符串,形成带噪声后半哈希密文;其中,N2的取值范围为0〈N2〈10,N2为自然数且N2〈L2,L2为所述第一后半哈希密文的长度且为自然数;
[0072]本实施例中,所述第一后半哈希密文的长度L2的取值为26,所述第二噪声插入位置N2的取值为8,形成的带噪声后半哈希密文为:A7F2732E0AFE2130B78165C5BCFCE66769C0
[0073]步骤五、将所述前半哈希密文、第二噪声插入位置N2、噪声字符串的长度LI和带噪声后半哈希密文依次合并,生成再加密好的噪声密文。[0074]本实施例中,生成的再加密好的噪声密文为:
[0075]AF146089A7F2732E0AFE2130B78165C5BCFCE66769C。
[0076]如图2所示,本发明哈希密文再加密后的解密方法,包括以下步骤:
[0077]步骤一、取得第一噪声插入位置NI的值;
[0078]本实施例中,取得的第一噪声插入位置NI的值为6 ;
[0079]步骤二、根据所述第一噪声插入位置NI,从所述再加密好的噪声密文中,取得所述第二噪声插入位置N2的值和噪声字符串的长度LI的值;
[0080]本实施例中,取得的所述第二噪声插入位置N2的值为8,所述噪声字符串的长度LI的值为9 ;
[0081]步骤三、从所述第一噪声插入位置NI处将所述再加密好的噪声密文分成前半哈希密文和第二后半哈希密文,并在所述第二后半哈希密文中去掉前两位,即去掉了所述第二噪声插入位置N2的值和所述噪声字符串的长度LI的值,形成带噪声后半哈希密文;
[0082]本实施例中,所述再加密好的噪声密文为:
[0083]AF146089A7F2732E0AFE2130B78165C5BCFCE66769C,
[0084]所述前半哈希密文为:AF1460,
[0085]所述第二后半哈希密文为:
[0086]89A7F2732E0AFE2130B78165C5BCFCE66769C,
[0087]在所述第二后半哈希密文中去掉前两位后形成的带噪声后半哈希密文为:A7F2732E0AFE2130B78165C5BCFCE66769C ;
[0088]步骤四、在所述带噪声后半哈希密文中,根据所述第二噪声插入位置N2和所述噪声字符串的长度LI,去掉所述噪声字符串,形成第一后半哈希密文;
[0089]本实施例中,形成的所述第一后半哈希密文为:
[0090]A7F2732E78165C5BCFCE66769C ;
[0091]步骤五、将所述前半哈希密文和第一后半哈希密文依次合并,生成解密后的原始哈希密文。
[0092]本实施例中,生成的解密后的原始哈希密文为:
[0093]AF1460A7F2732E78165C5BCFCE66769C,解密后的原始哈希密文与用户密码字符串所对应的原始哈希密文完全符合。
[0094]实施例3
[0095]如图1所示,本发明哈希密文再加密方法,包括以下步骤:
[0096]步骤一、设定一个固定的第一噪声插入位置NI,或者设定一种取得第一噪声插入位置NI的静态策略;其中,NI为自然数且N1〈L3,L3为原始哈希密文的长度且为自然数;这个固定的第一噪声插入位置NI和取得第一噪声插入位置NI的静态策略只有加密者和解密者知道;
[0097]本实施例中,所述原始哈希密文为:
[0098]afl460a7f2732e78165c5bcfce66769c,所述原始哈希密文的长度 L3 为 32,所述原始哈希密文所对应的用户密码字符串为:myNeWPaSSWOrd,所述用户密码字符串的长度为13 ;取得第一噪声插入位置NI的静态策略为:所述第一噪声插入位置NI为原始哈希密文所对应的用户密码字符串的第一个字符的ASCII码和最后一个字符的ASCII码之和整除原始哈希密文所对应的用户密码字符串的长度的余数;原始哈希密文所对应的用户密码字符串的第一个字符m的ASCII码为109,原始哈希密文所对应的用户密码字符串的最后一个字符d的ASCII码为100,因此NI = I ;
[0099]步骤二、从所述第一噪声插入位置NI处将原始哈希密文分成前半哈希密文和第一后半哈希S文;
[0100]本实施例中,所述前半哈希密文为a,所述第一后半哈希密文为n460a7f2732e78165c5bcfce66769c ;
[0101]步骤三、随机生成一个噪声字符串,所述噪声字符串的长度LI的取值范围为0〈L1〈10, LI为自然数;
[0102]本实施例中,步骤三中所述噪声字符串中每一位字符的取值范围为O?9和a?f,能够使得噪声字符串与原始哈希密文的相似度更高,进一步提高了加密的安全性;具体实施时,采用了随机噪声生成函数RandomO生成一个噪声字符串,生成的所述噪声字符串为8c473ea2,所述噪声字符串的长度LI的取值为8 ;
[0103]步骤四、在所述第一后半哈希密文中随机找一个插入所述噪声字符串的第二噪声插入位置N2,并在所述第二噪声插入位置N2处插入所述噪声字符串,形成带噪声后半哈希密文;其中,N2的取值范围为0〈N2〈10,N2为自然数且N2〈L2,L2为所述第一后半哈希密文的长度且为自然数;
[0104]本实施例中,所述第一后半哈希密文的长度L2的取值为31,所述第二噪声插入位置N2的取值为7,形成的带噪声后半哈希密文为:fl460a78c473ea2f2732e78165c5bcfce66769c。
[0105]步骤五、将所述前半哈希密文、第二噪声插入位置N2、噪声字符串的长度LI和带噪声后半哈希密文依次合并,生成再加密好的噪声密文。
[0106]本实施例中,生成的再加密好的噪声密文为:
[0107]a78fl460a78c473ea2f2732e78165c5bcfce66769co
[0108]如图2所示,本发明哈希密文再加密后的解密方法,包括以下步骤:
[0109]步骤一、取得第一噪声插入位置NI的值;
[0110]本实施例中,取得的第一噪声插入位置NI的值为I ;
[0111]步骤二、根据所述第一噪声插入位置NI,从所述再加密好的噪声密文中,取得所述第二噪声插入位置N2的值和噪声字符串的长度LI的值;
[0112]本实施例中,取得的所述第二噪声插入位置N2的值为7,所述噪声字符串的长度LI的值为8 ;
[0113]步骤三、从所述第一噪声插入位置NI处将所述再加密好的噪声密文分成前半哈希密文和第二后半哈希密文,并在所述第二后半哈希密文中去掉前两位,即去掉了所述第二噪声插入位置N2的值和所述噪声字符串的长度LI的值,形成带噪声后半哈希密文;
[0114]本实施例中,所述再加密好的噪声密文为:
[0115]a78fl460a78c473ea2f2732e78165c5bcfce66769c,
[0116]所述前半哈希密文为:a,
[0117]所述第二后半哈希密文为:
[0118]78fl460a78c473ea2f2732e78165c5bcfce66769c,[0119]在所述第二后半哈希密文中去掉前两位后形成的带噪声后半哈希密文为:H460a78c473ea2f2732e78165c5bcfce66769c ;
[0120]步骤四、在所述带噪声后半哈希密文中,根据所述第二噪声插入位置N2和所述噪声字符串的长度LI,去掉所述噪声字符串,形成第一后半哈希密文;
[0121]本实施例中,形成的所述第一后半哈希密文为:
[0122]fl460a7f2732e78165c5bcfce66769c ;
[0123]步骤五、将所述前半哈希密文和第一后半哈希密文依次合并,生成解密后的原始哈希密文。
[0124]本实施例中,生成的解密后的原始哈希密文为:
[0125]afl460a7f2732e78165c5bcfce66769c,解密后的原始哈希密文与用户密码字符串所对应的原始哈希密文完全符合。
[0126]实施例4
[0127]如图1所示,本发明哈希密文再加密方法,包括以下步骤:
[0128]步骤一、设定一个固定的第一噪声插入位置NI,或者设定一种取得第一噪声插入位置NI的静态策略;其中,NI为自然数且N1〈L3,L3为原始哈希密文的长度且为自然数;这个固定的第一噪声插入位置NI和取得第一噪声插入位置NI的静态策略只有加密者和解密者知道;
[0129]本实施例中,所述原始哈希密文为:
[0130]afl460a7f2732e78165c5bcfce66769c,所述原始哈希密文的长度 L3 为 32,所述原始哈希密文所对应的用户密码字符串为:myNeWPaSSWOrd,所述用户密码字符串的长度为13 ;取得第一噪声插入位置NI的静态策略为:所述第一噪声插入位置NI为原始哈希密文的第十个字符的ASCII码和第二十字符的ASCII码之和整除原始哈希密文所对应的用户密码字符串的长度的余数;由于原始哈希密文的第十个字符2的ASCII码为50,原始哈希密文的第二十字符c的ASCII码为99,因此NI = 6 ;原始哈希密文由长度为32位的十六进制数或长度为128位的二进制数组成。
[0131]步骤二、从所述第一噪声插入位置NI处将原始哈希密文分成前半哈希密文和第一后半哈希S文;
[0132]本实施例中,所述前半哈希密文为afl460,所述第一后半哈希密文为a7f2732e78165c5bcfce66769c ;
[0133]步骤三、随机生成一个噪声字符串,所述噪声字符串的长度LI的取值范围为0〈L1〈10, LI为自然数;
[0134]本实施例中,步骤三中所述噪声字符串中每一位字符的取值范围为O?9和a?f,能够使得噪声字符串与原始哈希密文的相似度更高,进一步提高了加密的安全性;具体实施时,采用了随机噪声生成函数RandomO生成一个噪声字符串,生成的所述噪声字符串为cf26ed9,所述噪声字符串的长度LI的取值为7 ;
[0135]步骤四、在所述第一后半哈希密文中随机找一个插入所述噪声字符串的第二噪声插入位置N2,并在所述第二噪声插入位置N2处插入所述噪声字符串,形成带噪声后半哈希密文;其中,N2的取值范围为0〈N2〈10,N2为自然数且N2〈L2,L2为所述第一后半哈希密文的长度且为自然数;[0136]本实施例中,所述第一后半哈希密文的长度L2的取值为26,所述第二噪声插入位置N2的取值为9,形成的带噪声后半哈希密文为:
[0137]a7f2732e7cf26ed98165c5bcfce66769c0
[0138]步骤五、将所述前半哈希密文、第二噪声插入位置N2、噪声字符串的长度LI和带噪声后半哈希密文依次合并,生成再加密好的噪声密文。
[0139]本实施例中,生成的再加密好的噪声密文为:
[0140]afl46097a7f2732e7cf26ed98165c5bcfce66769co
[0141]如图2所示,本发明哈希密文再加密后的解密方法,包括以下步骤:
[0142]步骤一、取得第一噪声插入位置NI的值;
[0143]本实施例中,取得的第一噪声插入位置NI的值为6 ;
[0144]步骤二、根据所述第一噪声插入位置NI,从所述再加密好的噪声密文中,取得所述第二噪声插入位置N2的值和噪声字符串的长度LI的值;
[0145]本实施例中,取得的所述第二噪声插入位置N2的值为9,所述噪声字符串的长度LI的值为7 ;
[0146]步骤三、从所述第一噪声插入位置NI处将所述再加密好的噪声密文分成前半哈希密文和第二后半哈希密文,并在所述第二后半哈希密文中去掉前两位,即去掉了所述第二噪声插入位置N2的值和所述噪声字符串的长度LI的值,形成带噪声后半哈希密文;
[0147]本实施例中,所述再加密好的噪声密文为:
[0148]afl46097a7f2732e7cf26ed98165c5bcfce66769c,
[0149]所述前半哈希密文为:afl460,
[0150]所述第二后半哈希密文为:97a7f2732e7cf26ed98165c5bcfce66769c,
[0151]在所述第二后半哈希密文中去掉前两位后形成的带噪声后半哈希密文为:a7f2732e7cf26ed98165c5bcfce66769c ;
[0152]步骤四、在所述带噪声后半哈希密文中,根据所述第二噪声插入位置N2和所述噪声字符串的长度LI,去掉所述噪声字符串,形成第一后半哈希密文;
[0153]本实施例中,形成的所述第一后半哈希密文为:
[0154]a7f2732e78165c5bcfce66769c ;
[0155]步骤五、将所述前半哈希密文和第一后半哈希密文依次合并,生成解密后的原始哈希密文。
[0156]本实施例中,生成的解密后的原始哈希密文为:
[0157]afl460a7f2732e78165c5bcfce66769c,解密后的原始哈希密文与用户密码字符串所对应的原始哈希密文完全符合。
[0158]以上所述,仅是本发明的较佳实施例,并非对本发明作任何限制,凡是根据本发明技术实质对以上实施例所作的任何简单修改、变更以及等效结构变化,均仍属于本发明技术方案的保护范围内。
【权利要求】
1.一种哈希密文再加密方法,其特征在于该方法包括以下步骤: 步骤一、设定一个固定的第一噪声插入位置NI,或者设定一种取得第一噪声插入位置NI的静态策略;其中,NI为自然数且N1〈L3,L3为原始哈希密文的长度且为自然数; 步骤二、从所述第一噪声插入位置NI处将原始哈希密文分成前半哈希密文和第一后半哈希密文; 步骤三、随机生成一个噪声字符串,所述噪声字符串的长度LI的取值范围为0〈L1〈10,LI为自然数; 步骤四、在所述第一后半哈希密文中随机找一个插入所述噪声字符串的第二噪声插入位置N2,并在所述第二噪声插入位置N2处插入所述噪声字符串,形成带噪声后半哈希密文;其中,N2的取值范围为0〈N2〈10,N2为自然数且N2〈L2,L2为所述第一后半哈希密文的长度且为自然数; 步骤五、将所述前半哈希密文、第二噪声插入位置N2、噪声字符串的长度LI和带噪声后半哈希密文依次合并,生成再加密好的噪声密文。
2.按照权利要求1所述的一种哈希密文再加密方法,其特征在于:步骤一中所述取得第一噪声插入位置NI的静态策略为:所述第一噪声插入位置NI为原始哈希密文所对应的用户密码字符串的长度整除2的商。
3.按照权利要求1所述的一种哈希密文再加密方法,其特征在于:步骤一中所述取得第一噪声插入位置NI的静态策略为:所述第一噪声插入位置NI为原始哈希密文所对应的用户密码字符串的第一个字符的ASCII码和最后一个字符的ASCII码之和整除原始哈希密文所对应的用户密码字符串的长度的余数。
4.按照权利要求1所述的一种哈希密文再加密方法,其特征在于:步骤一中所述取得第一噪声插入位置NI的静态策略为:所述第一噪声插入位置NI为原始哈希密文的第十个字符的ASCII码和第二十字符的ASCII码之和整除原始哈希密文所对应的用户密码字符串的长度的余数。
5.按照权利要求1所述的一种哈希密文再加密方法,其特征在于:步骤三中所述噪声字符串中每一位字符的取值范围为O~9和a~f。
6.按照权利要求1所述的一种哈希密文再加密方法,其特征在于:步骤三中所述噪声字符串中每一位字符的取值范围为O~9和A~F。
7.一种对采用如权利要求1所述再加密方法进行再加密后的哈希密文进行解密的方法,其特征在于该方法包括以下步骤: 步骤一、取得第一噪声插入位置NI的值; 步骤二、根据所述第一噪声插入位置NI,从所述再加密好的噪声密文中,取得所述第二噪声插入位置N2的值和噪声字符串的长度LI的值; 步骤三、从所述第一噪声插入位置NI处将所述再加密好的噪声密文分成前半哈希密文和第二后半哈希密文,并在所述第二后半哈希密文中去掉前两位,形成带噪声后半哈希密文; 步骤四、在所述带噪声后半哈希密文中,根据所述第二噪声插入位置N2和所述噪声字符串的长度LI,去掉所述噪声字符串,形成第一后半哈希密文; 步骤五、将所述前半哈希密文和第一后半哈希密文依次合并,生成解密后的原始哈希密文。
【文档编号】G06F21/62GK103942501SQ201410198900
【公开日】2014年7月23日 申请日期:2014年5月11日 优先权日:2014年5月11日
【发明者】龚星宇 申请人:西安科技大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1