【技术实现步骤摘要】
一种密码加密及密文解密的方法和装置
本申请涉及密码领域,尤其涉及一种密码加密及密文解密的方法和装置。
技术介绍
目前,银行会对银行卡密码进行加密,并在数据库中存储密文。如此,即使数据库被攻破,不法分子得到的也是加密后的银行卡密码,在加密算法无法被破解的前提下,攻击者很难利用加密后的银行卡密码反解出用户的银行卡密码,安全性较高。但是,随着计算机技术的发展,用于对银行卡密码进行加密的加密算法(一般为32位MD5消息摘要算法)被证明并不安全。特别是针对银行卡密码这种简单的6位数字组合,攻击者可以较容易地通过字典对密文进行暴力破解,得到用户的银行卡密码,从而给用户造成经济上的损失。因此,亟需开发一种新的加密方法对银行用户密码进行加密。
技术实现思路
有鉴于此,本申请实施例提供了一种密码加密及密文解密的方法和装置,旨在不改变密文位数的前提下,提升现有密码加密方法的安全性。为了实现上述目的,本专利技术提供了以下技术方案:一种密码加密的方法,所述方法包括:使用第一加密算法对原密码进行加密
【技术保护点】
1.一种密码加密的方法,其特征在于,所述方法包括:/n使用第一加密算法对原密码进行加密得到初始密文;/n对所述初始密文进行移位处理得到移位密文,所述移位处理的移动位数是利用所述初始密文进行计算得到的;/n对所述移位密文进行截位处理,将所述移位密文分为左部密文和右部密文,并根据提取指令从所述左部密文或右部密文中选择一个作为第一密文,另一个作为第二密文;/n使用第二加密算法对所述第二密文进行二次加密得到二次加密密文;所述第二加密算法为不改变密文长度的加密算法;/n将所述二次加密密文和所述第一密文进行拼接得到安全密文,存储所述安全密文。/n
【技术特征摘要】
1.一种密码加密的方法,其特征在于,所述方法包括:
使用第一加密算法对原密码进行加密得到初始密文;
对所述初始密文进行移位处理得到移位密文,所述移位处理的移动位数是利用所述初始密文进行计算得到的;
对所述移位密文进行截位处理,将所述移位密文分为左部密文和右部密文,并根据提取指令从所述左部密文或右部密文中选择一个作为第一密文,另一个作为第二密文;
使用第二加密算法对所述第二密文进行二次加密得到二次加密密文;所述第二加密算法为不改变密文长度的加密算法;
将所述二次加密密文和所述第一密文进行拼接得到安全密文,存储所述安全密文。
2.根据权利要求1所述的方法,其特征在于,所述初始密文包括数字部分和字母部分;所述移位处理的移动位数是通过以下方法得到的:
将所述初始密文的数字部分逐位相加,得到初始密文数字和;
对所述初始密文数字和以及所述初始密文的数字部分的位数进行模余运算,将计算得到的余数作为所述移动位数。
3.根据权利要求2所述的方法,其特征在于,所述对所述初始密文进行移位处理包括:
选取所述初始密文的数字部分,将所述数字部分排列起来作为第一数字序列,并记录所述第一数字序列每一位数字在初始密文中的具体位置;
从所述初始字序列密文左起第一位开始,截取长度为所述移动位数的密文作为左半部分数字序列,将剩余部分数字序列作为右半部分数字序列;
将所述左半部分数字序列和所述右半部分数字序列位置互换,得到第二数字序列;
按照所述第一数字序列每一位数字在初始密文中的具体位置,将所述第二数字序列各位数字重新填入所述初始密文的字母部分,得到所述移位密文。
4.根据权利要求1所述的方法,其特征在于,在对所述移位密文进行截位处理前,所述方法还包括:获取预设的截位长度;
所述对所述移位密文进行截位处理包括:
根据所述截位长度值,从所述移位密文左起第一位开始,截取长度为所述截位长度的密文作为左部密文,将剩余部分密文作为右部密文。
5.根据权利要求1所述的方法,其特征在于,所述对所述安全密文进行存储还包括:
将安全密文信息存储在和所述安全密文和第一加密算法不同的数据库中,所述安全密文信息包括截位长度、第一加密算法、第二加密算法和提取指令。
6.一种密文解密的方法,其特征在于,所述方法包括:
获取预先保存的安全密文和安全密文信息;所述安全密文信息包括截位长度、第一加密算法、第二加密算法和提取指令;
根据所述截位长度将所述安全密文分为两部分,并根据所述提取指令确定二次加密密文和第一密文;
利用第二加密算法对所述二次加密密文进行解密得到第二密文;
将所述第二密文和第一密文进行拼接得到移位密文;
对所述移位密文进行反移位处理得到初始密...
【专利技术属性】
技术研发人员:王公桃,孙波,张盼,赵宇,张梦雅,宫晓楠,
申请(专利权)人:中国银行股份有限公司,
类型:发明
国别省市:北京;11
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。