System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 防逆向破解的用户密钥数据库存储方法及系统技术方案_技高网

防逆向破解的用户密钥数据库存储方法及系统技术方案

技术编号:42968067 阅读:7 留言:0更新日期:2024-10-15 13:12
本发明专利技术涉及密钥存储技术领域,具体涉及一种防逆向破解的用户密钥数据库存储方法及系统,包括:步骤S1:当用户端配置了用户密钥后,向服务端传递所述用户密钥;步骤S2:所述服务端针对所述用户密钥,分别在首端生成并拼接第一加密数,以及在尾端生成并拼接第二加密数得到拼接密钥;步骤S3:对所述拼接密钥进行加密后存储。引入了特定的加密方法产生第一加密数和第二加密数,并将第一加密数和第二加密数与实际的用户密钥进行拼接后再进行加密存储,避免了明文存储导致数据泄露的问题,同时在出现重复的用户密钥时,在数据库一侧也会产生不同的加密数据,减少了被撞库破解的风险。

【技术实现步骤摘要】

本专利技术涉及密钥存储,具体涉及一种防逆向破解的用户密钥数据库存储方法及系统


技术介绍

1、用户密钥,是指用户在登陆系统或获取某种访问授权过程中所需要用到的标识,可由用户自行输入或通过相关的注入设备进行注入,通常会关联于用户名、账号等内容进行设置。当用户需要登陆时,通常会在前端页面中输入密钥等信息,并返回至后端服务器中,后端服务器通过查找数据库来对用户名和密钥进行比对,以判断用户是否可以进行访问。密钥是通过数据库的形式存储在服务器中的。

2、但是,在实际实施过程中,专利技术人发现,若在数据库中对密钥进行明文存储,会导致一系列的问题,比如假设且数据库的数据有被盗,数据全部暴露,如果用户在不同的网站,用的同一套密码,那么被盗后,很可能该密码数据会被不法分子用于其他常用网站尝试,二次风险危害更大;如果被服务端的相关人员特别是有数据库权限的恶意利用;即使做了简单加密,不排除可使用市面上常见的逆向破解(俗称撞库)来破解密码等。


技术实现思路

1、针对现有技术中存在的上述问题,现提供一种防逆向破解的用户密钥数据库存储方法及系统。

2、具体技术方案如下:

3、一种防逆向破解的用户密钥数据库存储方法,包括:

4、步骤s1:当用户端配置了用户密钥后,向服务端传递所述用户密钥;

5、步骤s2:所述服务端针对所述用户密钥,分别在首端生成并拼接第一加密数,以及在尾端生成并拼接第二加密数得到拼接密钥;

6、步骤s3:对所述拼接密钥进行加密后存储。

7、另一方面,所述步骤s1包括:

8、步骤s11:对所述用户密钥添加哈希校验得到待传递消息;

9、步骤s12:将所述待传递消息经由tls信道传输至所述服务端;

10、步骤s13:当校验通过后,所述服务端自所述待传递消息中提取所述用户密钥。

11、另一方面,所述步骤s2中,生成所述第一加密数的第一加密数生成方法包括:

12、步骤a21:将初始密钥与内部填充常数进行异或运算,得到内部密钥,并将所述内部密钥拼接至所述用户密钥的首端得到附加消息;

13、步骤a22:对所述附加消息进行哈希运算得到所述第一加密数。

14、另一方面,所述步骤s2中,生成所述第二加密数的第二加密数生成方法包括:

15、步骤b21:将初始密钥和外部填充常数进行异或运算得到外部密钥;

16、步骤b22:将所述第一加密数拼接至所述外部密钥后方得到拼接加密数;

17、步骤b23:对所述拼接加密数进行哈希运算得到所述第二加密数。

18、另一方面,所述步骤s3中,采用sha256算法对所述拼接密钥进行加密。

19、一种防逆向破解的用户密钥数据库存储系统,用于实施上述的用户密钥数据库存储方法,包括:

20、发送模块,所述发送模块在用户端配置了用户密钥后,向服务端传递所述用户密钥;

21、密钥拼接模块,所述密钥拼接模块针对所述用户密钥,分别在首端生成并拼接第一加密数,以及在尾端生成并拼接第二加密数得到拼接密钥;

22、加密存储模块,所述加密存储模块对所述拼接密钥进行加密后存储。

23、另一方面,所述发送模块包括:

24、校验模块,所述校验模块对所述用户密钥添加哈希校验得到待传递消息;

25、传输模块,所述传输模块将所述待传递消息经由tls信道传输至所述服务端;

26、提取模块,所述提取模块在校验通过后,自所述待传递消息中提取所述用户密钥。

27、另一方面,所述密钥拼接模块包括第一加密数生成模块,所述第一加密数生成模块包括:

28、第一处理模块,所述第一处理模块将初始密钥与内部填充常数进行异或运算,得到内部密钥,并将所述内部密钥拼接至所述用户密钥的首端得到附加消息;

29、第二处理模块,所述第二处理模块对所述附加消息进行哈希运算得到所述第一加密数。

30、另一方面,所述密钥拼接模块包括第二加密数生成模块,所述第二加密数生成模块包括:

31、第三处理模块,所述第三处理模块将初始密钥和外部填充常数进行异或运算得到外部密钥;

32、第四处理模块,所述第四处理模块将所述第一加密数拼接至所述外部密钥后方得到拼接加密数;

33、第五处理模块,所述第五处理模块对所述拼接加密数进行哈希运算得到所述第二加密数。

34、另一方面,所述加密存储模块中,采用sha256算法对所述拼接密钥进行加密。

35、上述技术方案具有如下优点或有益效果:

36、针对现有技术中的密钥存储方案效果不佳的问题,本方案中引入了特定的加密方法产生第一加密数和第二加密数,并将第一加密数和第二加密数与实际的用户密钥进行拼接后再进行加密存储,避免了明文存储导致数据泄露的问题,同时在出现重复的用户密钥时,在数据库一侧也会产生不同的加密数据,减少了被撞库破解的风险。

本文档来自技高网...

【技术保护点】

1.一种防逆向破解的用户密钥数据库存储方法,其特征在于,包括:

2.根据权利要求1所述的用户密钥数据库存储方法,其特征在于,所述步骤S1包括:

3.根据权利要求1所述的用户密钥数据库存储方法,其特征在于,所述步骤S2中,生成所述第一加密数的第一加密数生成方法包括:

4.根据权利要求3所述的用户密钥数据库存储方法,其特征在于,所述步骤S2中,生成所述第二加密数的第二加密数生成方法包括:

5.根据权利要求1所述的用户密钥数据库存储方法,其特征在于,所述步骤S3中,采用SHA256算法对所述拼接密钥进行加密。

6.一种防逆向破解的用户密钥数据库存储系统,其特征在于,用于实施如权利要求1-5任意一项所述的用户密钥数据库存储方法,包括:

7.根据权利要求6所述的用户密钥数据库存储方法,其特征在于,所述发送模块包括:

8.根据权利要求6所述的用户密钥数据库存储系统,其特征在于,所述密钥拼接模块包括第一加密数生成模块,所述第一加密数生成模块包括:

9.根据权利要求8所述的用户密钥数据库存储系统,其特征在于,所述密钥拼接模块包括第二加密数生成模块,所述第二加密数生成模块包括:

10.根据权利要求6所述的用户密钥数据库存储系统,其特征在于,所述加密存储模块中,采用SHA256算法对所述拼接密钥进行加密。

...

【技术特征摘要】

1.一种防逆向破解的用户密钥数据库存储方法,其特征在于,包括:

2.根据权利要求1所述的用户密钥数据库存储方法,其特征在于,所述步骤s1包括:

3.根据权利要求1所述的用户密钥数据库存储方法,其特征在于,所述步骤s2中,生成所述第一加密数的第一加密数生成方法包括:

4.根据权利要求3所述的用户密钥数据库存储方法,其特征在于,所述步骤s2中,生成所述第二加密数的第二加密数生成方法包括:

5.根据权利要求1所述的用户密钥数据库存储方法,其特征在于,所述步骤s3中,采用sha256算法对所述拼接密钥进行加密。

6.一种防逆向破解的用户密钥数据库存...

【专利技术属性】
技术研发人员:郑天虹傅佳斌
申请(专利权)人:中免日上互联科技有限公司
类型:发明
国别省市:

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

1