CN103942501B - 一种哈希密文再加密方法及再加密后的解密方法 - Google Patents
一种哈希密文再加密方法及再加密后的解密方法 Download PDFInfo
- Publication number
- CN103942501B CN103942501B CN201410198900.1A CN201410198900A CN103942501B CN 103942501 B CN103942501 B CN 103942501B CN 201410198900 A CN201410198900 A CN 201410198900A CN 103942501 B CN103942501 B CN 103942501B
- Authority
- CN
- China
- Prior art keywords
- noise
- ciphertext
- hash ciphertext
- character string
- hash
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/602—Providing cryptographic facilities or services
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/06—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
- H04L9/0643—Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- Computer Hardware Design (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Bioethics (AREA)
- Power Engineering (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Storage Device Security (AREA)
Abstract
本发明公开了一种哈希密文再加密方法及再加密后的解密方法,再加密方法包括步骤:一、设定固定的第一噪声插入位置或设定取得第一噪声插入位置的静态策略,二、从第一噪声插入位置处将原始哈希密文分成前半哈希密文和第一后半哈希密文,三、随机生成一个噪声字符串,四、在第一后半哈希密文中找一个第二噪声插入位置,并在第二噪声插入位置处插入噪声字符串,形成带噪声后半哈希密文,五、生成再加密好的噪声密文;解密方法包括步骤:一、取得第一噪声插入位置,二、取得第二噪声插入位置和噪声字符串的长度,三、形成带噪声后半哈希密文,四、形成第一后半哈希密文,五、生成解密后的原始哈希密文。本发明能够加强原始哈希密文的安全性,开销小。
Description
技术领域
本发明属于加密技术领域,具体涉及一种哈希密文再加密方法及再加密后的解密方法。
背景技术
现有的用户名加密的技术有MD5、SHA等加密手段。MD5加密的主要方式是将用户的明文进行哈希加密形成密文,然后将密文存储在数据库里面,以后用户登录时,将其输入的密码转换成MD5码后与数据库存储的密文进行比对,判断是否一致。虽然密码在经过MD5加密后的128bit的大整数是无法通过数学方式解密的,换句话说就是,即使你看到源程序和算法描述,也无法将一个MD5的值变换回原始的字符串,从数学原理上说,是因为原始的字符串有无穷多个,这有点像不存在反函数的数学函数。但是,这样的加密方式并不意味着百分之百的安全。原因在于,现在很多网络的资源可以通过使用字典方式来枚举MD5码的密文,从而通过这种对应的方式破解MD5加密之后的密文,获得用户登录密码的明文。虽然,MD5码加密不存在逆过程,对于较为复杂的用户密码,MD5码加密之后很难通过枚举的手段进行破译。但是,数量众多的用户密码并不都是复杂的密码,这就为用户的信息安全带来了大量的问题。例如:有一用户的登录密码为“mynewpassword”,在http://tool.chinaz.com/Tools/MD5.aspx网站经过MD5加密之后,其密文为“8E70383C69F7A3B7EA3F71B02F3E9731”,系统将此密文存储到数据库中,日后登录时进行比对,判断登录用户身份是否合法。但是,此密文一旦泄露,虽然无法使用数学方式反解,但我们还是可以通过其他手段取得其对应的明文,例如,在http://www.md5.com.cn/md5这个网站中,可以将密文“8E70383C69F7A3B7EA3F71B02F3E9731”输入到对话框中,点击MD5Crack按钮后,与其对应的明文“mynewpassword”就会被显示出来。经过试验,对于并不是很复杂的用户密码的MD5密文,该网站都可以对其进行解密。从这一点就可以说明,现在广泛使用的MD5加密手段并不是十分的可靠。SHA加密与MD5加密相似,均由MD4加密导出,是美国国家标准技术研究所发布的国家标准FIPS PUB 180,最新的标准已经于2008年更新到FIPS PUB 180-3。其中规定了SHA-1,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加密后的密文再次进行加密,即便数据库中的密文泄露之后,也很难使用这种枚举方式进行破译。另外,现有技术对用户明文进行加密,得到密文,若再次对密文进行加密,虽然可以提高密文的加密强度,但是所带来的加密解密开销会大大增加。
发明内容
本发明所要解决的技术问题在于针对上述现有技术中的不足,提供一种高效、快速、能够进一步加强原始哈希密文的安全性、加密开销小、实用性强的哈希密文再加密方法。
为解决上述技术问题,本发明采用的技术方案是:一种哈希密文再加密方法,其特征在于该方法包括以下步骤:
步骤一、设定一个固定的第一噪声插入位置N1,或者设定一种取得第一噪声插入位置N1的静态策略;其中,N1为自然数且N1<L3,L3为原始哈希密文的长度且为自然数;
步骤二、从所述第一噪声插入位置N1处将原始哈希密文分成前半哈希密文和第一后半哈希密文;
步骤三、随机生成一个噪声字符串,所述噪声字符串的长度L1的取值范围为0<L1<10,L1为自然数;
步骤四、在所述第一后半哈希密文中随机找一个插入所述噪声字符串的第二噪声插入位置N2,并在所述第二噪声插入位置N2处插入所述噪声字符串,形成带噪声后半哈希密文;其中,N2的取值范围为0<N2<10,N2为自然数且N2<L2,L2为所述第一后半哈希密文的长度且为自然数;
步骤五、将所述前半哈希密文、第二噪声插入位置N2、噪声字符串的长度L1和带噪声后半哈希密文依次合并,生成再加密好的噪声密文。
上述的一种哈希密文再加密方法,其特征在于:步骤一中所述取得第一噪声插入位置N1的静态策略为:所述第一噪声插入位置N1为原始哈希密文所对应的用户密码字符串的长度除以2的整数商。
上述的一种哈希密文再加密方法,其特征在于:步骤一中所述取得第一噪声插入位置N1的静态策略为:所述第一噪声插入位置N1为原始哈希密文所对应的用户密码字符串的第一个字符的ASCII码和最后一个字符的ASCII码之和模除原始哈希密文所对应的用户密码字符串的长度的结果。
上述的一种哈希密文再加密方法,其特征在于:步骤一中所述取得第一噪声插入位置N1的静态策略为:所述第一噪声插入位置N1为原始哈希密文的第十个字符的ASCII码和第二十字符的ASCII码之和模除原始哈希密文所对应的用户密码字符串的长度的结果。
上述的一种哈希密文再加密方法,其特征在于:步骤三中所述噪声字符串中每一位字符的取值范围为0~9和a~f。
上述的一种哈希密文再加密方法,其特征在于:步骤三中所述噪声字符串中每一位字符的取值范围为0~9和A~F。
本发明还提供了一种高效、快速、开销小、实用性强的哈希密文再加密后的解密方法,其特征在于该方法包括以下步骤:
步骤一、取得第一噪声插入位置N1的值;
步骤二、根据所述第一噪声插入位置N1,从所述再加密好的噪声密文中,取得所述第二噪声插入位置N2的值和噪声字符串的长度L1的值;
步骤三、从所述第一噪声插入位置N1处将所述再加密好的噪声密文分成前半哈希密文和第二后半哈希密文,并在所述第二后半哈希密文中去掉前两位,形成带噪声后半哈希密文;
步骤四、在所述带噪声后半哈希密文中,根据所述第二噪声插入位置N2和所述噪声字符串的长度L1,去掉所述噪声字符串,形成第一后半哈希密文;
步骤五、将所述前半哈希密文和第一后半哈希密文依次合并,生成解密后的原始哈希密文。
本发明与现有技术相比具有以下优点:
1、本发明的加密与解密方法简单,实现方便。
2、本发明的加密方法采用了固定设置或采用静态策略设置第一噪声插入位置的方法,并采用了在第一后半哈希密文中随机设置第二噪声插入位置的方法,通过在第一噪声插入位置和第二噪声插入位置插入噪声字符,能够对哈希密封进行高效、快速的再加密,在哈希密文中加入了无用的干扰字符,就像在音乐里添加噪声一样,使得破解者无法分离出原始哈希密文,进一步加强了哈希密文的加密强度,使得哈希密文的破解难度更高,并且,解密时也不会增加过多的开销,此开销基本可以忽略不计,从而保证了加密解密的高效性和安全性。
3、本发明加密解密操作的开销在微秒级别,所带来的加密解密开销非常小。
4、本发明的实用性强,便于推广使用。
综上所述,本发明的方法简单,实现方便,能够高效、快速的对哈希密文进行再加密和再加密后的解密,能够进一步加强原始哈希密文的安全性,加密解密开销小,实用性强,便于推广使用。
下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。
附图说明
图1为本发明哈希密文再加密方法的方法流程框图。
图2为本发明哈希密文再加密后的解密方法的方法流程框图。
具体实施方式
实施例1
如图1所示,本发明哈希密文再加密方法,包括以下步骤:
步骤一、设定一个固定的第一噪声插入位置N1,或者设定一种取得第一噪声插入位置N1的静态策略;其中,N1为自然数且N1<L3,L3为原始哈希密文的长度且为自然数;这个固定的第一噪声插入位置N1和取得第一噪声插入位置N1的静态策略只有加密者和解密者知道;
本实施例中,所述原始哈希密文为:af1460a7f2732e78165c5bcfce66769c,所述原始哈希密文的长度L3为32,所述原始哈希密文所对应的用户密码字符串为:myNewPassword,所述用户密码字符串的长度为13;设定的固定的第一噪声插入位置N1=4;
步骤二、从所述第一噪声插入位置N1处将原始哈希密文分成前半哈希密文和第一后半哈希密文;
本实施例中,所述前半哈希密文为af14,所述第一后半哈希密文为60a7f2732e78165c5bcfce66769c;
步骤三、随机生成一个噪声字符串,所述噪声字符串的长度L1的取值范围为0<L1<10,L1为自然数;
本实施例中,步骤三中所述噪声字符串中每一位字符的取值范围为0~9和a~f,能够使得噪声字符串与原始哈希密文的相似度更高,进一步提高了加密的安全性;具体实施时,采用了随机噪声生成函数Random()生成一个噪声字符串,生成的所述噪声字符串为0af3e130b,所述噪声字符串的长度L1的取值为9;
步骤四、在所述第一后半哈希密文中随机找一个插入所述噪声字符串的第二噪声插入位置N2,并在所述第二噪声插入位置N2处插入所述噪声字符串,形成带噪声后半哈希密文;其中,N2的取值范围为0<N2<10,N2为自然数且N2<L2,L2为所述第一后半哈希密文的长度且为自然数;
本实施例中,所述第一后半哈希密文的长度L2的取值为28,所述第二噪声插入位置N2的取值为6,形成的带噪声后半哈希密文为:60a7f20af3e130b732e78165c5bcfce66769c。
步骤五、将所述前半哈希密文、第二噪声插入位置N2、噪声字符串的长度L1和带噪声后半哈希密文依次合并,生成再加密好的噪声密文。
本实施例中,生成的再加密好的噪声密文为:
af146960a7f20af3e130b732e78165c5bcfce66769c。
如图2所示,本发明哈希密文再加密后的解密方法,包括以下步骤:
步骤一、取得第一噪声插入位置N1的值;
本实施例中,取得的第一噪声插入位置N1的值为4;
步骤二、根据所述第一噪声插入位置N1,从所述再加密好的噪声密文中,取得所述第二噪声插入位置N2的值和噪声字符串的长度L1的值;
本实施例中,取得的所述第二噪声插入位置N2的值为6,所述噪声字符串的长度L1的值为9;
步骤三、从所述第一噪声插入位置N1处将所述再加密好的噪声密文分成前半哈希密文和第二后半哈希密文,并在所述第二后半哈希密文中去掉前两位,即去掉了所述第二噪声插入位置N2的值和所述噪声字符串的长度L1的值,形成带噪声后半哈希密文;
本实施例中,所述再加密好的噪声密文为:
af146960a7f20af3e130b732e78165c5bcfce66769c,
所述前半哈希密文为:af14,
所述第二后半哈希密文为:
6960a7f20af3e130b732e78165c5bcfce66769c,
在所述第二后半哈希密文中去掉前两位后形成的带噪声后半哈希密文为:60a7f20af3e130b732e78165c5bcfce66769c;
步骤四、在所述带噪声后半哈希密文中,根据所述第二噪声插入位置N2和所述噪声字符串的长度L1,去掉所述噪声字符串,形成第一后半哈希密文;
本实施例中,形成的所述第一后半哈希密文为:60a7f2732e78165c5bcfce66769c;
步骤五、将所述前半哈希密文和第一后半哈希密文依次合并,生成解密后的原始哈希密文。
本实施例中,生成的解密后的原始哈希密文为:af1460a7f2732e78165c5bcfce66769c,解密后的原始哈希密文与用户密码字符串所对应的原始哈希密文完全符合。
实施例2
如图1所示,本发明哈希密文再加密方法,包括以下步骤:
步骤一、设定一个固定的第一噪声插入位置N1,或者设定一种取得第一噪声插入位置N1的静态策略;其中,N1为自然数且N1<L3,L3为原始哈希密文的长度且为自然数;这个固定的第一噪声插入位置N1和取得第一噪声插入位置N1的静态策略只有加密者和解密者知道;
本实施例中,所述原始哈希密文为:AF1460A7F2732E78165C5BCFCE66769C,所述原始哈希密文的长度L3为32,所述原始哈希密文所对应的用户密码字符串为:myNewPassword,所述用户密码字符串的长度为13;取得第一噪声插入位置N1的静态策略为:所述第一噪声插入位置N1为原始哈希密文所对应的用户密码字符串的长度除以2的整数商,由于用户密码字符串的长度为13,因此N1=6;
步骤二、从所述第一噪声插入位置N1处将原始哈希密文分成前半哈希密文和第一后半哈希密文;
本实施例中,所述前半哈希密文为AF1460,所述第一后半哈希密文为A7F2732E78165C5BCFCE66769C;
步骤三、随机生成一个噪声字符串,所述噪声字符串的长度L1的取值范围为0<L1<10,L1为自然数;
本实施例中,步骤三中所述噪声字符串中每一位字符的取值范围为0~9和A~F,能够使得噪声字符串与原始哈希密文的相似度更高,进一步提高了加密的安全性;具体实施时,采用了随机噪声生成函数Random()生成一个噪声字符串,生成的所述噪声字符串为0AFE2130B,所述噪声字符串的长度L1的取值为9;
步骤四、在所述第一后半哈希密文中随机找一个插入所述噪声字符串的第二噪声插入位置N2,并在所述第二噪声插入位置N2处插入所述噪声字符串,形成带噪声后半哈希密文;其中,N2的取值范围为0<N2<10,N2为自然数且N2<L2,L2为所述第一后半哈希密文的长度且为自然数;
本实施例中,所述第一后半哈希密文的长度L2的取值为26,所述第二噪声插入位置N2的取值为8,形成的带噪声后半哈希密文为:A7F2732E0AFE2130B78165C5BCFCE66769C。
步骤五、将所述前半哈希密文、第二噪声插入位置N2、噪声字符串的长度L1和带噪声后半哈希密文依次合并,生成再加密好的噪声密文。
本实施例中,生成的再加密好的噪声密文为:
AF146089A7F2732E0AFE2130B78165C5BCFCE66769C。
如图2所示,本发明哈希密文再加密后的解密方法,包括以下步骤:
步骤一、取得第一噪声插入位置N1的值;
本实施例中,取得的第一噪声插入位置N1的值为6;
步骤二、根据所述第一噪声插入位置N1,从所述再加密好的噪声密文中,取得所述第二噪声插入位置N2的值和噪声字符串的长度L1的值;
本实施例中,取得的所述第二噪声插入位置N2的值为8,所述噪声字符串的长度L1的值为9;
步骤三、从所述第一噪声插入位置N1处将所述再加密好的噪声密文分成前半哈希密文和第二后半哈希密文,并在所述第二后半哈希密文中去掉前两位,即去掉了所述第二噪声插入位置N2的值和所述噪声字符串的长度L1的值,形成带噪声后半哈希密文;
本实施例中,所述再加密好的噪声密文为:
AF146089A7F2732E0AFE2130B78165C5BCFCE66769C,
所述前半哈希密文为:AF1460,
所述第二后半哈希密文为:
89A7F2732E0AFE2130B78165C5BCFCE66769C,
在所述第二后半哈希密文中去掉前两位后形成的带噪声后半哈希密文为:A7F2732E0AFE2130B78165C5BCFCE66769C;
步骤四、在所述带噪声后半哈希密文中,根据所述第二噪声插入位置N2和所述噪声字符串的长度L1,去掉所述噪声字符串,形成第一后半哈希密文;
本实施例中,形成的所述第一后半哈希密文为:A7F2732E78165C5BCFCE66769C;
步骤五、将所述前半哈希密文和第一后半哈希密文依次合并,生成解密后的原始哈希密文。
本实施例中,生成的解密后的原始哈希密文为:AF1460A7F2732E78165C5BCFCE66769C,解密后的原始哈希密文与用户密码字符串所对应的原始哈希密文完全符合。
实施例3
如图1所示,本发明哈希密文再加密方法,包括以下步骤:
步骤一、设定一个固定的第一噪声插入位置N1,或者设定一种取得第一噪声插入位置N1的静态策略;其中,N1为自然数且N1<L3,L3为原始哈希密文的长度且为自然数;这个固定的第一噪声插入位置N1和取得第一噪声插入位置N1的静态策略只有加密者和解密者知道;
本实施例中,所述原始哈希密文为:af1460a7f2732e78165c5bcfce66769c,所述原始哈希密文的长度L3为32,所述原始哈希密文所对应的用户密码字符串为:myNewPassword,所述用户密码字符串的长度为13;取得第一噪声插入位置N1的静态策略为:所述第一噪声插入位置N1为原始哈希密文所对应的用户密码字符串的第一个字符的ASCII码和最后一个字符的ASCII码之和模除原始哈希密文所对应的用户密码字符串的长度的结果;原始哈希密文所对应的用户密码字符串的第一个字符m的ASCII码为109,原始哈希密文所对应的用户密码字符串的最后一个字符d的ASCII码为100,因此N1=1;
步骤二、从所述第一噪声插入位置N1处将原始哈希密文分成前半哈希密文和第一后半哈希密文;
本实施例中,所述前半哈希密文为a,所述第一后半哈希密文为f1460a7f2732e78165c5bcfce66769c;
步骤三、随机生成一个噪声字符串,所述噪声字符串的长度L1的取值范围为0<L1<10,L1为自然数;
本实施例中,步骤三中所述噪声字符串中每一位字符的取值范围为0~9和a~f,能够使得噪声字符串与原始哈希密文的相似度更高,进一步提高了加密的安全性;具体实施时,采用了随机噪声生成函数Random()生成一个噪声字符串,生成的所述噪声字符串为8c473ea2,所述噪声字符串的长度L1的取值为8;
步骤四、在所述第一后半哈希密文中随机找一个插入所述噪声字符串的第二噪声插入位置N2,并在所述第二噪声插入位置N2处插入所述噪声字符串,形成带噪声后半哈希密文;其中,N2的取值范围为0<N2<10,N2为自然数且N2<L2,L2为所述第一后半哈希密文的长度且为自然数;
本实施例中,所述第一后半哈希密文的长度L2的取值为31,所述第二噪声插入位置N2的取值为7,形成的带噪声后半哈希密文为:f1460a78c473ea2f2732e78165c5bcfce66769c。
步骤五、将所述前半哈希密文、第二噪声插入位置N2、噪声字符串的长度L1和带噪声后半哈希密文依次合并,生成再加密好的噪声密文。
本实施例中,生成的再加密好的噪声密文为:
a78f1460a78c473ea2f2732e78165c5bcfce66769c。
如图2所示,本发明哈希密文再加密后的解密方法,包括以下步骤:
步骤一、取得第一噪声插入位置N1的值;
本实施例中,取得的第一噪声插入位置N1的值为1;
步骤二、根据所述第一噪声插入位置N1,从所述再加密好的噪声密文中,取得所述第二噪声插入位置N2的值和噪声字符串的长度L1的值;
本实施例中,取得的所述第二噪声插入位置N2的值为7,所述噪声字符串的长度L1的值为8;
步骤三、从所述第一噪声插入位置N1处将所述再加密好的噪声密文分成前半哈希密文和第二后半哈希密文,并在所述第二后半哈希密文中去掉前两位,即去掉了所述第二噪声插入位置N2的值和所述噪声字符串的长度L1的值,形成带噪声后半哈希密文;
本实施例中,所述再加密好的噪声密文为:
a78f1460a78c473ea2f2732e78165c5bcfce66769c,
所述前半哈希密文为:a,
所述第二后半哈希密文为:
78f1460a78c473ea2f2732e78165c5bcfce66769c,
在所述第二后半哈希密文中去掉前两位后形成的带噪声后半哈希密文为:f1460a78c473ea2f2732e78165c5bcfce66769c;
步骤四、在所述带噪声后半哈希密文中,根据所述第二噪声插入位置N2和所述噪声字符串的长度L1,去掉所述噪声字符串,形成第一后半哈希密文;
本实施例中,形成的所述第一后半哈希密文为:f1460a7f2732e78165c5bcfce66769c;
步骤五、将所述前半哈希密文和第一后半哈希密文依次合并,生成解密后的原始哈希密文。
本实施例中,生成的解密后的原始哈希密文为:af1460a7f2732e78165c5bcfce66769c,解密后的原始哈希密文与用户密码字符串所对应的原始哈希密文完全符合。
实施例4
如图1所示,本发明哈希密文再加密方法,包括以下步骤:
步骤一、设定一个固定的第一噪声插入位置N1,或者设定一种取得第一噪声插入位置N1的静态策略;其中,N1为自然数且N1<L3,L3为原始哈希密文的长度且为自然数;这个固定的第一噪声插入位置N1和取得第一噪声插入位置N1的静态策略只有加密者和解密者知道;
本实施例中,所述原始哈希密文为:af1460a7f2732e78165c5bcfce66769c,所述原始哈希密文的长度L3为32,所述原始哈希密文所对应的用户密码字符串为:myNewPassword,所述用户密码字符串的长度为13;取得第一噪声插入位置N1的静态策略为:所述第一噪声插入位置N1为原始哈希密文的第十个字符的ASCII码和第二十字符的ASCII码之和模除原始哈希密文所对应的用户密码字符串的长度的结果;由于原始哈希密文的第十个字符2的ASCII码为50,原始哈希密文的第二十字符c的ASCII码为99,因此N1=6;原始哈希密文由长度为32位的十六进制数或长度为128位的二进制数组成。
步骤二、从所述第一噪声插入位置N1处将原始哈希密文分成前半哈希密文和第一后半哈希密文;
本实施例中,所述前半哈希密文为af1460,所述第一后半哈希密文为a7f2732e78165c5bcfce66769c;
步骤三、随机生成一个噪声字符串,所述噪声字符串的长度L1的取值范围为0<L1<10,L1为自然数;
本实施例中,步骤三中所述噪声字符串中每一位字符的取值范围为0~9和a~f,能够使得噪声字符串与原始哈希密文的相似度更高,进一步提高了加密的安全性;具体实施时,采用了随机噪声生成函数Random()生成一个噪声字符串,生成的所述噪声字符串为cf26ed9,所述噪声字符串的长度L1的取值为7;
步骤四、在所述第一后半哈希密文中随机找一个插入所述噪声字符串的第二噪声插入位置N2,并在所述第二噪声插入位置N2处插入所述噪声字符串,形成带噪声后半哈希密文;其中,N2的取值范围为0<N2<10,N2为自然数且N2<L2,L2为所述第一后半哈希密文的长度且为自然数;
本实施例中,所述第一后半哈希密文的长度L2的取值为26,所述第二噪声插入位置N2的取值为9,形成的带噪声后半哈希密文为:
a7f2732e7cf26ed98165c5bcfce66769c。
步骤五、将所述前半哈希密文、第二噪声插入位置N2、噪声字符串的长度L1和带噪声后半哈希密文依次合并,生成再加密好的噪声密文。
本实施例中,生成的再加密好的噪声密文为:
af146097a7f2732e7cf26ed98165c5bcfce66769c。
如图2所示,本发明哈希密文再加密后的解密方法,包括以下步骤:
步骤一、取得第一噪声插入位置N1的值;
本实施例中,取得的第一噪声插入位置N1的值为6;
步骤二、根据所述第一噪声插入位置N1,从所述再加密好的噪声密文中,取得所述第二噪声插入位置N2的值和噪声字符串的长度L1的值;
本实施例中,取得的所述第二噪声插入位置N2的值为9,所述噪声字符串的长度L1的值为7;
步骤三、从所述第一噪声插入位置N1处将所述再加密好的噪声密文分成前半哈希密文和第二后半哈希密文,并在所述第二后半哈希密文中去掉前两位,即去掉了所述第二噪声插入位置N2的值和所述噪声字符串的长度L1的值,形成带噪声后半哈希密文;
本实施例中,所述再加密好的噪声密文为:
af146097a7f2732e7cf26ed98165c5bcfce66769c,
所述前半哈希密文为:af1460,
所述第二后半哈希密文为:97a7f2732e7cf26ed98165c5bcfce66769c,
在所述第二后半哈希密文中去掉前两位后形成的带噪声后半哈希密文为:a7f2732e7cf26ed98165c5bcfce66769c;
步骤四、在所述带噪声后半哈希密文中,根据所述第二噪声插入位置N2和所述噪声字符串的长度L1,去掉所述噪声字符串,形成第一后半哈希密文;
本实施例中,形成的所述第一后半哈希密文为:a7f2732e78165c5bcfce66769c;
步骤五、将所述前半哈希密文和第一后半哈希密文依次合并,生成解密后的原始哈希密文。
本实施例中,生成的解密后的原始哈希密文为:af1460a7f2732e78165c5bcfce66769c,解密后的原始哈希密文与用户密码字符串所对应的原始哈希密文完全符合。
以上所述,仅是本发明的较佳实施例,并非对本发明作任何限制,凡是根据本发明技术实质对以上实施例所作的任何简单修改、变更以及等效结构变化,均仍属于本发明技术方案的保护范围内。
Claims (7)
1.一种哈希密文再加密方法,其特征在于该方法包括以下步骤:
步骤一、设定一个固定的第一噪声插入位置N1,或者设定一种取得第一噪声插入位置N1的静态策略;其中,N1为自然数且N1<L3,L3为原始哈希密文的长度且为自然数;
步骤二、从所述第一噪声插入位置N1处将原始哈希密文分成前半哈希密文和第一后半哈希密文;
步骤三、随机生成一个噪声字符串,所述噪声字符串的长度L1的取值范围为0<L1<10,L1为自然数;
步骤四、在所述第一后半哈希密文中随机找一个插入所述噪声字符串的第二噪声插入位置N2,并在所述第二噪声插入位置N2处插入所述噪声字符串,形成带噪声后半哈希密文;其中,N2的取值范围为0<N2<10,N2为自然数且N2<L2,L2为所述第一后半哈希密文的长度且为自然数;
步骤五、将所述前半哈希密文、第二噪声插入位置N2、噪声字符串的长度L1和带噪声后半哈希密文依次合并,生成再加密好的噪声密文。
2.按照权利要求1所述的一种哈希密文再加密方法,其特征在于:步骤一中所述取得第一噪声插入位置N1的静态策略为:所述第一噪声插入位置N1为原始哈希密文所对应的用户密码字符串的长度除以2的整数商。
3.按照权利要求1所述的一种哈希密文再加密方法,其特征在于:步骤一中所述取得第一噪声插入位置N1的静态策略为:所述第一噪声插入位置N1为原始哈希密文所对应的用户密码字符串的第一个字符的ASCII码和最后一个字符的ASCII码之和模除原始哈希密文所对应的用户密码字符串的长度的结果。
4.按照权利要求1所述的一种哈希密文再加密方法,其特征在于:步骤一中所述取得第一噪声插入位置N1的静态策略为:所述第一噪声插入位置N1为原始哈希密文的第十个字符的ASCII码和第二十字符的ASCII码之和模除原始哈希密文所对应的用户密码字符串的长度的结果。
5.按照权利要求1所述的一种哈希密文再加密方法,其特征在于:步骤三中所述噪声字符串中每一位字符的取值范围为0~9和a~f。
6.按照权利要求1所述的一种哈希密文再加密方法,其特征在于:步骤三中所述噪声字符串中每一位字符的取值范围为0~9和A~F。
7.一种对采用如权利要求1所述再加密方法进行再加密后的哈希密文进行解密的方法,其特征在于该方法包括以下步骤:
步骤一、取得第一噪声插入位置N1的值;
步骤二、根据所述第一噪声插入位置N1,从所述再加密好的噪声密文中,取得所述第二噪声插入位置N2的值和噪声字符串的长度L1的值;
步骤三、从所述第一噪声插入位置N1处将所述再加密好的噪声密文分成前半哈希密文和第二后半哈希密文,并在所述第二后半哈希密文中去掉前两位,形成带噪声后半哈希密文;
步骤四、在所述带噪声后半哈希密文中,根据所述第二噪声插入位置N2和所述噪声字符串的长度L1,去掉所述噪声字符串,形成第一后半哈希密文;
步骤五、将所述前半哈希密文和第一后半哈希密文依次合并,生成解密后的原始哈希密文。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410198900.1A CN103942501B (zh) | 2014-05-11 | 2014-05-11 | 一种哈希密文再加密方法及再加密后的解密方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410198900.1A CN103942501B (zh) | 2014-05-11 | 2014-05-11 | 一种哈希密文再加密方法及再加密后的解密方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103942501A CN103942501A (zh) | 2014-07-23 |
CN103942501B true CN103942501B (zh) | 2017-01-18 |
Family
ID=51190167
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410198900.1A Expired - Fee Related CN103942501B (zh) | 2014-05-11 | 2014-05-11 | 一种哈希密文再加密方法及再加密后的解密方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103942501B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110474930B (zh) * | 2019-09-29 | 2022-03-11 | 国家计算机网络与信息安全管理中心 | 一种基于信息传输的安全交互方法及装置 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1560823A (zh) * | 2004-02-19 | 2005-01-05 | 李春林 | 基于动态变长码的数据加密与解密系统 |
CN1777040A (zh) * | 2005-12-14 | 2006-05-24 | 北京北大方正电子有限公司 | 一种可变长度结构化信息的编码和解码方法 |
CN101291325A (zh) * | 2007-04-17 | 2008-10-22 | 三星电子株式会社 | 对消息加密的方法以及对消息解密的方法 |
CN101710380A (zh) * | 2009-12-22 | 2010-05-19 | 中国软件与技术服务股份有限公司 | 电子文件安全防护方法 |
CN102045718A (zh) * | 2009-10-23 | 2011-05-04 | 中国移动通信集团福建有限公司 | 一种鉴权方法和系统 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2384144A (en) * | 2002-01-09 | 2003-07-16 | Hewlett Packard Co | A public key encryption system |
-
2014
- 2014-05-11 CN CN201410198900.1A patent/CN103942501B/zh not_active Expired - Fee Related
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1560823A (zh) * | 2004-02-19 | 2005-01-05 | 李春林 | 基于动态变长码的数据加密与解密系统 |
CN1777040A (zh) * | 2005-12-14 | 2006-05-24 | 北京北大方正电子有限公司 | 一种可变长度结构化信息的编码和解码方法 |
CN101291325A (zh) * | 2007-04-17 | 2008-10-22 | 三星电子株式会社 | 对消息加密的方法以及对消息解密的方法 |
CN102045718A (zh) * | 2009-10-23 | 2011-05-04 | 中国移动通信集团福建有限公司 | 一种鉴权方法和系统 |
CN101710380A (zh) * | 2009-12-22 | 2010-05-19 | 中国软件与技术服务股份有限公司 | 电子文件安全防护方法 |
Also Published As
Publication number | Publication date |
---|---|
CN103942501A (zh) | 2014-07-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103942500B (zh) | 基于噪声的哈希密文再加密方法及再加密后的解密方法 | |
CN101777158B (zh) | 一种安全交易的方法和系统 | |
CN102684877B (zh) | 一种进行用户信息处理的方法及装置 | |
CN106506487A (zh) | 一种信息加、解密方法及装置 | |
CN104683354B (zh) | 一种基于标识的动态口令系统 | |
CN106022035A (zh) | 一种电子签章方法及系统 | |
CN103780379A (zh) | 密码加密方法和系统以及密码校验方法和系统 | |
CN105282090B (zh) | 一种互联网上防非法访问的公开url加密编码方法 | |
Purnama | An Analysis of Encryption and Decryption Application by using One Time Pad Algorithm | |
CN107679397A (zh) | 一种linux系统的弱口令检测系统和方法 | |
CN106548353A (zh) | 一种商品防伪码生成与验证方法 | |
CN107395620A (zh) | 一种基于随机字节映射的网络传输加密解密方法 | |
CN105763525A (zh) | 一种识别码生成方法和识别码解密方法及装置 | |
CN106789053A (zh) | 随机密文生成方法及系统、解密方法及系统 | |
CN110489978A (zh) | 一种文件加解密方法 | |
CN104486756A (zh) | 一种密笺短信的加解密方法及系统 | |
JP5411034B2 (ja) | データベース暗号化システム及び方法 | |
CN102882675A (zh) | 社交网站用的密码加密方法 | |
CN103942501B (zh) | 一种哈希密文再加密方法及再加密后的解密方法 | |
CN112528309A (zh) | 一种数据存储加密和解密的方法及其装置 | |
Cortez et al. | Cryptanalysis of the Modified SHA256 | |
Fahrianto et al. | Encrypted SMS application on Android with combination of caesar cipher and vigenere algorithm | |
CN107404476B (zh) | 一种大数据云环境中数据安全的保护方法与装置 | |
CN108134799A (zh) | 新型加解密方法及其装置 | |
CN111314052B (zh) | 一种数据加密和解密方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20170118 Termination date: 20170511 |
|
CF01 | Termination of patent right due to non-payment of annual fee |