System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 一种密码存储方法、装置、设备及介质制造方法及图纸_技高网

一种密码存储方法、装置、设备及介质制造方法及图纸

技术编号:40602826 阅读:16 留言:0更新日期:2024-03-12 22:08
本申请公开了一种密码存储方法、装置、设备及介质,涉及加密技术领域。该方法包括:获取用户名和待处理密码;将用户名和待处理密码分别填充至目标字节;将填充后的用户名和填充后的待处理密码相关联,得到关联结果;对关联结果进行散列运算,得到散列运算结果;保存用户名和所述散列运算结果,以执行密码存储。由此,在密码存储时通过将用户名和密码产生关联,避免了盐值存储带来的密码的存储成本较高的问题,也避免了简单的散列运算导致的不同用户相同密码带来的密码存储安全性的问题,因此能够在降低密码存储成本的同时,增强密码存储的安全性。

【技术实现步骤摘要】

本申请涉及加密,特别涉及一种密码存储方法、装置、设备及介质


技术介绍

1、用户在使用手机等电子设备对应用程序(application,app)进行操作时,需要在app中输入用户名和密码等个人信息后,才能获得app的操作权限。并且,用户可以针对不同的app设置不同的密码。当用户的密码较多时,为了避免忘记密码,可以将不同app的用户名和密码进行一一对应的保存,以便在需要时进行查询。

2、相关技术中,为了保证密码存储的安全性,通常会基于单向散列函数(hashing)或加盐散列函数(salted hashing)对密码进行加密后,再将加密后的密码存储至电子设备的数据库中。

3、然而,虽然基于单向散列函数能够将密码转化为唯一的散列值,但是相同的密码会生成相同的散列值,使得攻击者可以通过事先计算好的散列值对应表快速破解密码,使得密码存储的安全性瞬间变低。虽然基于加盐散列函数加密密码增强了密码存储的安全性,但是引入盐值需要额外的存储空间,因为每个密码都对应一个唯一的盐值,导致电子设备需要管理大量的盐值,这增加了密码的存储成本。


技术实现思路

1、本申请实施例提供了一种密码存储方法、装置、设备及介质,能够在降低密码存储成本的同时,增强密码存储的安全性。

2、本申请实施例公开了如下技术方案:

3、第一方面,本申请提供了一种密码存储方法,包括:

4、获取用户名和待处理密码;

5、将所述用户名和所述待处理密码分别填充至目标字节;</p>

6、将填充后的用户名和填充后的待处理密码相关联,得到第一关联结果;

7、对所述第一关联结果进行散列运算,得到散列运算结果;

8、保存所述用户名和所述散列运算结果,以执行密码存储。

9、可选的,所述将填充后的用户名和填充后的待处理密码相关联,得到第一关联结果,包括:

10、对填充后的用户名和填充后的待处理密码做异或运算,得到运算结果;

11、对所述运算结果取反,得到第一关联结果。

12、可选的,在所述得到第一关联结果之后,所述方法还包括:

13、根据分散规则,对所述第一关联结果进行分散操作,得到多个分散结果;

14、将所述多个分散结果依次拼接,得到拼接字符串;

15、对所述拼接字符串进行非对称加密,得到第一密文数据;

16、将所述用户名和所述第一密文数据保存至电子设备本地。

17、可选的,所述根据分散规则,对所述关联结果进行分散操作,得到多个分散结果,包括:

18、生成第一字符串和第二字符串;

19、分别对所述第一字符串和所述关联结果,和,所述第二字符串和所述关联结果,和,所述第一字符串、所述第二字符串和所述关联结果进行异或操作,得到多个分散结果。

20、可选的,所述方法还包括:

21、响应于用户登录,获取输入用户名和输入密文;

22、对所述输入密文进行非对称解密,得到解密字符串;

23、分割所述解密字符串,依次得到多个分割结果;

24、根据关联规则,对所述多个分割结果进行关联,得到第二关联结果;

25、对所述第二关联结果进行散列运算,得到散列数据;

26、获取与所述输入用户名对应的所述第二密文数据;

27、若所述第二密文数据与所述散列数据相等,则登录所述用户的账户。

28、第二方面,本申请提供了一种密码存储装置,包括:获取模块、填充模块、关联模块、运算模块和存储模块;

29、所述获取模块,用于获取用户名和待处理密码;

30、所述填充模块,用于将所述用户名和所述待处理密码分别填充至目标字节;

31、所述关联模块,用于将填充后的用户名和填充后的待处理密码相关联,得到第一关联结果;

32、所述运算模块,用于对所述第一关联结果进行散列运算,得到散列运算结果;

33、所述存储模块,用于保存所述用户名和所述散列运算结果,以执行密码存储。

34、可选的,所述关联模块包括:第一关联子模块和第二关联子模块;

35、所述第一关联子模块,用于对填充后的用户名和填充后的待处理密码做异或运算,得到运算结果;

36、所述第二关联子模块,用于对所述运算结果取反,得到第一关联结果。

37、可选的,所述装置还包括:分散模块、拼接模块、加密模块、保存模块;

38、所述分散模块,用于根据分散规则,对所述第一关联结果进行分散操作,得到多个分散结果;

39、所述拼接模块,用于将所述多个分散结果依次拼接,得到拼接字符串;

40、所述加密模块,用于对所述拼接字符串进行非对称加密,得到第一密文数据;

41、所述保存模块,用于将所述用户名和所述第一密文数据保存至电子设备本地。

42、第三方面,本申请提供了一种密码存储设备,包括:存储器和处理器;

43、所述存储器,用于存储程序;

44、所述处理器,用于执行所述计算机程序时实现上述密码存储方法的步骤。

45、第四方面,本申请提供了一种计算机可读存储介质,所述可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时,实现上述密码存储方法的步骤。

46、相较于现有技术,本申请具有以下有益效果:

47、本申请公开了一种密码存储方法、装置、设备及介质,该方法包括:获取用户名和待处理密码;将用户名和待处理密码分别填充至目标字节;将填充后的用户名和填充后的待处理密码相关联,得到关联结果;对关联结果进行散列运算,得到散列运算结果;保存用户名和所述散列运算结果,以执行密码存储。由此,在密码存储时通过将用户名和密码产生关联,避免了盐值存储带来的密码的存储成本较高的问题,也避免了简单的散列运算导致的不同用户相同密码带来的密码存储安全性的问题,因此能够在降低密码存储成本的同时,增强密码存储的安全性。

本文档来自技高网...

【技术保护点】

1.一种密码存储方法,其特征在于,所述方法包括:

2.根据权利要求1所述的方法,其特征在于,所述将填充后的用户名和填充后的待处理密码相关联,得到第一关联结果,包括:

3.根据权利要求1所述的方法,其特征在于,在所述得到第一关联结果之后,所述方法还包括:

4.根据权利要求3所述的方法,其特征在于,所述根据分散规则,对所述关联结果进行分散操作,得到多个分散结果,包括:

5.根据权利要求3所述的方法,其特征在于,所述方法还包括:

6.一种密码存储装置,其特征在于,所述装置包括:获取模块、填充模块、关联模块、运算模块和存储模块;

7.根据权利要求6所述的装置,其特征在于,所述关联模块包括:第一关联子模块和第二关联子模块;

8.根据权利要求6所述的装置,其特征在于,所述装置还包括:分散模块、拼接模块、加密模块、保存模块;

9.一种密码存储设备,其特征在于,包括:存储器和处理器;

10.一种计算机存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时,实现如权利要求1至5所述的方法的各个步骤。

...

【技术特征摘要】

1.一种密码存储方法,其特征在于,所述方法包括:

2.根据权利要求1所述的方法,其特征在于,所述将填充后的用户名和填充后的待处理密码相关联,得到第一关联结果,包括:

3.根据权利要求1所述的方法,其特征在于,在所述得到第一关联结果之后,所述方法还包括:

4.根据权利要求3所述的方法,其特征在于,所述根据分散规则,对所述关联结果进行分散操作,得到多个分散结果,包括:

5.根据权利要求3所述的方法,其特征在于,所述方法还包括:

6.一种密码存储装置,...

【专利技术属性】
技术研发人员:郑腾飞王剑东彭鑫张志群陈超
申请(专利权)人:浙江国利网安科技有限公司
类型:发明
国别省市:

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

1