用户密码加盐保护方法、装置、可读存储介质及电子设备制造方法及图纸

技术编号:37187176 阅读:15 留言:0更新日期:2023-04-20 22:50
本发明专利技术公开了一种用户密码加盐保护方法、装置、可读存储介质及电子设备,该方法包括:获取用户的基本信息,并从基本信息中提取出不动信息,以根据不动信息确定基础加盐因子;利用预设算法将基础加盐因子进行加密形成秘钥因子,并将秘钥因子与用户的密码通过预设算法混合加密形成初步密文;将秘钥因子与初步密文进行异或运算得到中间密文,随机生成用户密码所需数量的随机数与中间密文拼接混淆形成用户最终密文,通过采用一用户一加盐因子策略,对加盐因子也进行二次加密,对于加密后的密文进行二次混淆,增强了密码的加密程度,加大了密码的破解难度,也避免加盐因子泄漏导致所有密码都泄漏。解决了现有技术中用户密码安全性低的问题。的问题。的问题。

【技术实现步骤摘要】
用户密码加盐保护方法、装置、可读存储介质及电子设备


[0001]本专利技术涉及密码管理
,特别涉及一种用户密码加盐保护方法、装置、存储介质及设备。

技术介绍

[0002]用户的密码是个很重要的数据,不能外泄,现在系统一般都是用MD5对密码进行加密,因为MD5是一种不可逆转的加密方式,但是由于MD5产生的时间较长,现在很多人会采用撞库的方式去破解密码,这样就导致使用MD5进行加密的方式已经不再安全了,可能会导致数据外泄的问题。

技术实现思路

[0003]有鉴于此,本专利技术的目的在于提供一种用户密码加盐保护方法、装置、可读存储介质及电子设备,旨在解决现有技术中密码安全性低容易导致数据外泄的问题。
[0004]本专利技术是这样实现的:一种用户密码加盐保护方法,所述方法包括:获取用户的基本信息,并从所述基本信息中提取出不动信息,以根据所述不动信息确定基础加盐因子;利用预设算法将所述基础加盐因子进行加密形成秘钥因子,并将所述秘钥因子与所述用户的密码通过所述预设算法混合加密形成初步密文;将所述秘钥因子与初步密文进行异或运算得到中间密文,随机生成所述用户的密码所需数量的随机数与所述中间密文拼接混淆形成用户最终密文;所述利用预设算法将所述基础加盐因子进行加密形成秘钥因子的步骤包括:对所述不动信息进行哈希运算得到第一哈希值,将所述第一哈希值中的任意位与所述基础加盐因子进行合并后进行哈希计算得到第二哈希值;将所述第一哈希值映射至预设坐标系中的原点,并以所述原点为顶点随机对角线的绘制矩形的第三哈希值确定区域;以所述原点为发射点,根据所述第二哈希值确定对应的发射角度所射出的射线与所述第三哈希值确定区域的交点的坐标值对应为所述第三哈希值。
[0005]进一步的,上述用户密码加盐方法,其中,所述利用预设算法将所述基础加盐因子进行加密形成秘钥因子的步骤包括:对所述不动信息进行哈希运算得到第一哈希值,将所述第一哈希值中的任意位与所述基础加盐因子进行合并后进行哈希计算得到第二哈希值;对所述第一哈希值和所述第二哈希值进行哈希计算,得到第三哈希值加密后以得到所述秘钥因子。
[0006]进一步的,上述用户密码加盐保护方法,其中,所述不动信息包括所述用户的用户名,所述根据所述不动信息确定基础加盐因子的步骤包括:
按预设规则对所述用户的用户名进行加密,以根据所述用户的用户名确定所述基础加盐因子。
[0007]进一步的,上述用户密码加盐保护方法,其中,所述按预设规则对所述用户的用户名进行加密,以根据所述用户的用户名确定所述基础加盐因子的步骤包括:对所述用户名进行拆解,以提取出所述用户名的字母部分、数字部分以及字符部分;分别确定所述字母部分、数字部分以及字符部分的加密规则,并分别以所述加密规则对所述字母部分、数字部分以及字符部分进行加密;对加密后的所述字母部分、数字部分以及字符部分进行预设顺序调换后的拼接以得到所述基础加盐因子。
[0008]进一步的,上述用户密码加盐保护方法,其中,所述随机生成所述用户的密码所需数量的随机数的步骤包括:获取随机数生成函数,设定随机种子,以利用所述随机数生成函数生成随机数;依次利用所述随机数生成函数生成随机数,以生成所述用户的密码所需数量的随机数。
[0009]进一步的,上述用户密码加盐保护方法,其中,所述中间密文的步骤之后还包括:若判断到所述中间密文的长度低于预设长度,则将所述秘钥因子作为下一次加密的所述第一哈希值;并将所述第一哈希值依次进行合并、哈希计算得到最新的秘钥因子,并与所述用户的密码混合加密直至所述中间密文的长度高于预设长度。
[0010]本专利技术的另一个目的在于提供一种用户密码加盐保护装置,所述装置包括:获取模块,用于获取用户的基本信息,并从所述基本信息中提取出不动信息,以根据所述不动信息确定基础加盐因子;加密模块,用于利用预设算法将所述基础加盐因子进行加密形成秘钥因子,并将所述秘钥因子与所述用户的密码通过所述预设算法混合加密形成初步密文;生成模块,用于将所述秘钥因子与初步密文进行异或运算得到中间密文,随机生成所述用户的密码所需数量的随机数与所述中间密文拼接混淆形成用户最终密文;所述加密模块包括:计算单元,用于对所述不动信息进行哈希运算得到第一哈希值,将所述第一哈希值中的任意位与所述基础加盐因子进行合并后进行哈希计算得到第二哈希值;映射单元,用于将所述第一哈希值映射至预设坐标系中的原点,并以所述原点为顶点随机对角线的绘制矩形的第三哈希值确定区域;发射单元,用于以所述原点为发射点,根据所述第二哈希值确定对应的发射角度所射出的射线与所述第三哈希值确定区域的交点的坐标值对应为所述第三哈希值。
[0011]进一步的,上述用户密码加盐保护装置,其中,所述加密模块还包括:合并单元,用于对所述不动信息进行哈希运算得到第一哈希值,将所述第一哈希值中的任意位与所述基础加盐因子进行合并后进行哈希计算得到第二哈希值;加密单元,用于对所述第一哈希值和所述第二哈希值进行哈希计算,得到第三哈希值加密后以得到所述秘钥因子。
[0012]本专利技术的另一个目的在于提供一种可读存储介质,其上存储有计算机程序,其特征在于,所述程序被处理器执行时实现如上述任意一项所述的方法的步骤。
[0013]本专利技术的另一个目的在于提供一种电子设备,包括存储器、处理器以及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述的方法的步骤。
[0014]本专利技术通过获取用户的基本信息,并从基本信息中提取出不动信息,以根据不动信息确定基础加盐因子;利用预设算法将基础加盐因子进行加密形成秘钥因子,并将秘钥因子与用户的密码通过预设算法混合加密形成初步密文;将秘钥因子与初步密文进行异或运算得到中间密文,随机生成用户密码所需数量的随机数与中间密文拼接混淆形成用户最终密文。通过采用一用户一加盐因子策略,对于加盐因子本身也进行二次加密,对于加密后的密文进行二次混淆,避免固定加盐因子,采用动态加盐因子和二次混淆方式,增强了密码的加密程度,加大了密码的破解难度,也避免加盐因子泄漏导致所有密码都泄漏,解决了现有技术中用户密码安全性低而导致数据外泄的问题。
附图说明
[0015]图1 为本专利技术第一实施例中用户密码加盐保护方法的流程图;图2 为本专利技术一实施例中用户密码加盐保护方法中的第三哈希值确定的示意图;图3为本专利技术第二实施例中用户密码加盐保护装置的结构框图。
[0016]如下具体实施方式将结合上述附图进一步说明本专利技术。
具体实施方式
[0017]为了便于理解本专利技术,下面将参照相关附图对本专利技术进行更全面的描述。附图中给出了本专利技术的若干实施例。但是,本专利技术可以以许多不同的形式来实现,并不限于本文所描述的实施例。相反地,提供这些实施例的目的是使对本专利技术的公开内容更加透彻全面。
[0018]需要说明的是,当元件被称为“固设于”另一个元件,它可以直接在另一个元件上或者也可以存在居中的元件。当一个元件被认为是“连接”另一个元件,它可以是直接连接到另一个元件或者可能同时本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种用户密码加盐保护方法,其特征在于,所述方法包括:获取用户的基本信息,并从所述基本信息中提取出不动信息,以根据所述不动信息确定基础加盐因子;利用预设算法将所述基础加盐因子进行加密形成秘钥因子,并将所述秘钥因子与所述用户的密码通过所述预设算法混合加密形成初步密文;将所述秘钥因子与初步密文进行异或运算得到中间密文,随机生成所述用户的密码所需数量的随机数与所述中间密文拼接混淆形成用户最终密文;所述利用预设算法将所述基础加盐因子进行加密形成秘钥因子的步骤包括:对所述不动信息进行哈希运算得到第一哈希值,将所述第一哈希值中的任意位与所述基础加盐因子进行合并后进行哈希计算得到第二哈希值;将所述第一哈希值映射至预设坐标系中的原点,并以所述原点为顶点随机对角线的绘制矩形的第三哈希值确定区域;以所述原点为发射点,根据所述第二哈希值确定对应的发射角度所射出的射线与所述第三哈希值确定区域的交点的坐标值对应为所述第三哈希值。2.根据权利要求1所述的用户密码加盐保护方法,其特征在于,所述利用预设算法将所述基础加盐因子进行加密形成秘钥因子的步骤还包括:对所述不动信息进行哈希运算得到第一哈希值,将所述第一哈希值中的任意位与所述基础加盐因子进行合并后进行哈希计算得到第二哈希值;对所述第一哈希值和所述第二哈希值进行哈希计算,得到第三哈希值加密后以得到所述秘钥因子。3.根据权利要求1所述的用户密码加盐保护方法,其特征在于,所述不动信息包括所述用户的用户名,所述根据所述不动信息确定基础加盐因子的步骤包括:按预设规则对所述用户的用户名进行加密,以根据所述用户的用户名确定所述基础加盐因子。4.根据权利要求3所述的用户密码加盐保护方法,其特征在于,所述按预设规则对所述用户的用户名进行加密,以根据所述用户的用户名确定所述基础加盐因子的步骤包括:对所述用户名进行拆解,以提取出所述用户名的字母部分、数字部分以及字符部分;分别确定所述字母部分、数字部分以及字符部分的加密规则,并分别以所述加密规则对所述字母部分、数字部分以及字符部分进行加密;对加密后的所述字母部分、数字部分以及字符部分进行预设顺序调换后的拼接以得到所述基础加盐因子。5.根据权利要求1所述的用户密码加盐保护方法,其特征在于,所述随机生成所述用户的密码所需数量的随机数的步骤包括:获取随机数生成函数,设定随...

【专利技术属性】
技术研发人员:陈彩伟纪峥嵘何长海曾忠安樊海东叶凯丁川鲁冰青
申请(专利权)人:江苏曼荼罗软件股份有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1