CN111538983A - 用户密码生成方法、装置、计算机设备及存储介质 - Google Patents
用户密码生成方法、装置、计算机设备及存储介质 Download PDFInfo
- Publication number
- CN111538983A CN111538983A CN202010631650.1A CN202010631650A CN111538983A CN 111538983 A CN111538983 A CN 111538983A CN 202010631650 A CN202010631650 A CN 202010631650A CN 111538983 A CN111538983 A CN 111538983A
- Authority
- CN
- China
- Prior art keywords
- password
- salt
- user
- temporary
- terminal
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 55
- 150000003839 salts Chemical class 0.000 claims abstract description 206
- 238000004422 calculation algorithm Methods 0.000 claims abstract description 46
- 238000004590 computer program Methods 0.000 claims description 22
- 230000004044 response Effects 0.000 claims description 4
- 238000005336 cracking Methods 0.000 abstract description 8
- 238000004364 calculation method Methods 0.000 abstract description 3
- 230000006870 function Effects 0.000 description 8
- 238000010586 diagram Methods 0.000 description 7
- 230000008569 process Effects 0.000 description 7
- 238000012545 processing Methods 0.000 description 5
- 238000009938 salting Methods 0.000 description 4
- 230000005540 biological transmission Effects 0.000 description 3
- 230000015572 biosynthetic process Effects 0.000 description 2
- 101100203322 Saccharomyces cerevisiae (strain ATCC 204508 / S288c) SKS1 gene Proteins 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000002427 irreversible effect Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Images
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/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/45—Structures or tools for the administration of authentication
- G06F21/46—Structures or tools for the administration of authentication by designing passwords or checking the strength of passwords
-
- 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/10—Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
- G06F21/107—License processing; Key processing
- G06F21/1078—Logging; Metering
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- Multimedia (AREA)
- Technology Law (AREA)
- Storage Device Security (AREA)
Abstract
本发明涉及用户密码生成方法、装置、计算机设备及存储介质,该方法包括在进行用户注册时,获取用户名、来自终端的临时密码以及盐,以得到用户名、第一盐以及第一临时密码;根据第一临时密码对第一盐进行加密,以得到目标密码;保存用户名、第一盐以及第一临时密码;在进行用户登录时,获取来自终端的请求;根据请求调取对应的内容,并反馈至终端,以由终端采用PBKDF2算法进行明文密码加密所得的两个临时密码以及新盐,以得到第二盐、第三临时密码以及第二临时密码;根据第三临时密码以及第一盐生成登录结果;更新用户相关信息;反馈登录结果至终端。本发明有效对抗用户权限表被拖库以及预先计算破解,极大的提高系统用户权限体系的安全性。
Description
技术领域
本发明涉及密码处理技术领域,更具体地说是指用户密码生成方法、装置、计算机设备及存储介质。
背景技术
在如今这个到处充斥着各种各样信息的世界里,保护被存储、传输或共享的敏感数据和信息已经成为一个非常重要的话题。使用密码是一种非常常见并且简单的保护用户信息安全的方法。正确使用密码来保护敏感数据和信息不仅需要选择强密码,而且需要选择一种安全的方法来处理软件和硬件系统中的密码,于是产生了各种各样的加密算法,并且随着计算能力的不断提升,加密算法的种类在不断地更新,强度也在不断地提升。大部分处理密码的算法中的计算核心都包含哈希函数,如:数字签名标准、安全电子交易、因特网协议安全、无线局域网安全、随机数生成算法以及密码存储机制等。但是这种采用哈希算法对明文密码加盐生成密文的方法,存在着被攻击、篡改、破解的风险,即在传输环境中,用户提交明文密码到服务器端过程中被窃取;数据库被拖库,用户表泄露,用户登录权限被预先计算被暴力破解;服务器端接收用户明文密码,对用户不够尊重。
因此,有必要设计一种新的方法,实现有效对抗用户权限表被拖库以及预先计算破解,极大的提高了系统用户权限体系的安全性。
发明内容
本发明的目的在于克服现有技术的缺陷,提供用户密码生成方法、装置、计算机设备及存储介质。
为实现上述目的,本发明采用以下技术方案:用户密码生成方法,包括:
在进行用户注册时,获取用户名、来自终端采用PBKDF2算法进行明文密码加密所得的临时密码以及盐,以得到用户名、第一盐以及第一临时密码;
根据第一临时密码对第一盐进行加密,以得到目标密码;
保存所述用户名、第一盐以及第一临时密码,以形成用户相关信息;
在进行用户登录时,获取来自终端的请求;
根据请求调取对应的内容,并反馈至终端,以由终端采用PBKDF2算法进行明文密码加密所得的两个临时密码以及新盐,以得到第二盐、第三临时密码以及第二临时密码;
获取用户名、第二盐、第一临时密码以及第二临时密码;
根据第三临时密码以及第一盐生成登录结果;
利用第二盐以及第二临时密码更新用户相关信息;
反馈所述登录结果至终端,以在终端进行显示。
其进一步技术方案为:来自终端采用PBKDF2算法进行明文密码加密所得的临时密码以及盐,包括:
由终端随机生成盐,以得到第一盐;
由终端对明文密码用第一盐进行慢哈希加密,以得到第一临时密码。
其进一步技术方案为:所述根据第一临时密码对第一盐进行加密,以得到目标密码,包括:
对第一临时密码采用第一盐进行快哈希加密,以得到目标密码。
其进一步技术方案为:所述请求包括请求下发第一盐的信息。
其进一步技术方案为:由终端采用PBKDF2算法进行明文密码加密所得的两个临时密码以及新盐,以得到第二盐、第三临时密码以及第二临时密码,包括:
由终端随机生成新盐,以得到第二盐;
由终端对输入的明文密码用第一盐进行慢哈希加密,以得到第三临时密码;
对输入的明文密码用第二盐进行慢哈希加密,以得到第二临时密码。
其进一步技术方案为:所述根据第三临时密码以及第一盐生成登录结果,包括:
对第三临时密码使用第一盐进行快哈希加密,以得到中间密码;
判断所述中间密码与目标密码是否一致;
若所述中间密码与目标密码一致,则生成登录成功的登录结果;
若所述中间密码与目标密码不一致,则生成登录失败的登录结果。
其进一步技术方案为:所述利用第二盐以及第二临时密码更新用户相关信息,包括:
对第二临时密码用第二盐进行快加密,以得到新目标密码;
更新用户相关信息内的第一盐为第二盐,更新用户相关信息内的目标密码为新目标密码。
本发明还提供了用户密码生成装置,包括:
注册信息获取单元,用于在进行用户注册时,获取用户名、来自终端采用PBKDF2算法进行明文密码加密所得的临时密码以及盐,以得到用户名、第一盐以及第一临时密码;
第一加密单元,用于根据第一临时密码对第一盐进行加密,以得到目标密码;
保存单元,用于保存所述用户名、第一盐以及第一临时密码,以形成用户相关信息;
请求获取单元,用于在进行用户登录时,获取来自终端的请求;
响应反馈单元,用于根据请求调取对应的内容,并反馈至终端,以由终端采用PBKDF2算法进行明文密码加密所得的两个临时密码以及新盐,以得到第二盐、第三临时密码以及第二临时密码;
登录信息获取单元,用于获取用户名、第二盐、第一临时密码以及第二临时密码;
登录结果生成单元,用于根据第三临时密码以及第一盐生成登录结果;
信息更新单元,用于利用第二盐以及第二临时密码更新用户相关信息;
结果反馈单元,用于反馈所述登录结果至终端,以在终端进行显示。
本发明还提供了一种计算机设备,所述计算机设备包括存储器及处理器,所述存储器上存储有计算机程序,所述处理器执行所述计算机程序时实现上述的方法。
本发明还提供了一种存储介质,所述存储介质存储有计算机程序,所述计算机程序被处理器执行时可实现上述的方法。
本发明与现有技术相比的有益效果是:本发明通过在终端生成随机盐用PBKDF2算法进行多次迭代次数慢加密得到临时密码,再在服务器进行用PBKDF2算法进行多次快加密得到最终的密码,且每次登录都会更新对应的盐值以及密码,用户注册、登录时服务器不接收、不储存明文密码,可以有效对抗用户权限表被拖库以及预先计算破解,极大的提高了系统用户权限体系的安全性。
下面结合附图和具体实施例对本发明作进一步描述。
附图说明
为了更清楚地说明本发明实施例技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的用户密码生成方法的应用场景示意图;
图2为本发明实施例提供的用户密码生成方法的流程示意图;
图3为本发明实施例提供的用户密码生成方法的子流程示意图;
图4为本发明实施例提供的用户密码生成方法的子流程示意图;
图5为本发明实施例提供的用户密码生成方法的子流程示意图;
图6为本发明实施例提供的用户密码生成方法的子流程示意图;
图7为本发明实施例提供的用户密码生成装置的示意性框图;
图8为本发明实施例提供的用户密码生成装置的登录结果生成单元的示意性框图;
图9为本发明实施例提供的用户密码生成装置的信息更新单元的示意性框图;
图10为本发明实施例提供的计算机设备的示意性框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
应当理解,当在本说明书和所附权利要求书中使用时,术语“包括”和 “包含”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
还应当理解,在此本发明说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本发明。如在本发明说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。
还应当进一步理解,在本发明说明书和所附权利要求书中使用的术语“和/ 或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
请参阅图1和图2,图1为本发明实施例提供的用户密码生成方法的应用场景示意图。图2为本发明实施例提供的用户密码生成方法的示意性流程图。该用户密码生成方法应用于服务器中。该服务器与终端进行数据交互,其中,在用户注册过程中,先由终端进行动态加盐慢加密后,形成临时密码,再由服务器进行再次加密。在用户登录时,也是先由终端根据注册时的盐以及新生成的盐进行加密后,再由终端进行密码验证和密码等相关信息的更新。用户在注册、登录时服务器不接收、不储存明文密码;有效防止用户密码在传输过程中无法被窃取;用户每次登陆都会隐式的更新盐信息和密码串,可以有效对抗拖库以及预先计算即暴力破解。
图2是本发明实施例提供的用户密码生成方法的流程示意图。如图2所示,该方法包括以下步骤S110至S190。
S110、在进行用户注册时,获取用户名、来自终端采用PBKDF2算法进行明文密码加密所得的临时密码以及盐,以得到用户名、第一盐以及第一临时密码。
在本实施例中,第一盐是指可以在密码中混入一段随机的字符串再进行哈希加密,这个被字符串被称作盐;通过在密码任意固定位置插入特定的字符串,让散列后的结果和使用原始密码的散列结果不相符,这种过程称之为加盐。第一临时密码是指对用户注册时所输入的明文密码采用盐进行加密后形成的密码。
涉及身份验证的系统都需要存储用户的认证信息,常用的用户认证方式主要为用户名和密码的方式,为了安全起见,用户输入的密码需要保存为密文形式,可采用已公开的不可逆的哈希加密算法,比如SHA256, SHA512,SHA3等,对于同一密码,同一加密算法会产生相同的哈希值,这样,当用户进行身份验证时,也可对用户输入的明文密码应用相同的哈希加密算法,得出一个哈希值,然后使用该哈希值和之前存储好的密文值进行对照,如果两个值相同,则密码认证成功,否则密码认证失败。
由于密码是由用户设定的,在实际应用中,用户设置的密码复杂度可能不够高,同时不同的用户极有可能会使用相同的密码,那么这些用户对应的密文也会相同,这样,当存储用户密码的数据库泄露后,攻击者会很容易便能找到相同密码的用户,从而也降低了破解密码的难度,因此,在对用户密码进行加密时,需要考虑对密码进行掩饰,即使是相同的密码,也应该要保存为不同的密文,即使用户输入的是弱密码,也需要考虑进行增强,从而增加密码被攻破的难度,而使用带盐的加密哈希值便能满足该需求。
加盐使攻击者无法采用特定的查询表和彩虹表快速破解大量哈希值,但是却不能阻止他们使用字典攻击或暴力攻击。为了降低攻击者的效率,可以使用一种叫做密钥扩展的技术。把哈希函数变得很慢,于是即使有着超高性能的GPU或定制硬件,字典攻击和暴力攻击也会慢得让攻击者无法接受。最终的目标是把哈希函数的速度降到足以让攻击者望而却步,但造成的延迟又不至于引起用户的注意。密钥扩展的实现是依靠一种CPU(中央处理器,central processing unit)密集型哈希函数,比如PBKDF2或者bcrypt,这里使用PBKDF2算法实现。这类算法使用一个安全因子或迭代次数作为参数,这个值决定了哈希函数会有多慢。
在一实施例中,请参阅图3,上述的步骤S110可包括步骤S111~ S112。
S111、由终端随机生成盐,以得到第一盐;
S112、由终端对明文密码用第一盐进行慢哈希加密,以得到第一临时密码。
慢哈希加密是为了提高加密时间来相应的加大破解时间和难度。密码破解的时间和加密算法是直接关联的,例如 MD5 加密是非常快的,加密一次耗费 1 微秒,那破解时随便猜一个词组,也只需 1 微秒,攻击者一秒钟就可以猜 100 万个。如果加密一次提高到10 毫秒,那么攻击者每秒只能猜 100 个,破解速度就慢了一万倍。提高加密时间有两种方法,一是多次加密,二是加大加密算法的复杂度。
前端生成随机盐用PBKDF2算法进行m次迭代次数慢加密得到临时密码串,可避免用户相关信息预先计算破解。
S120、根据第一临时密码对第一盐进行加密,以得到目标密码。
在本实施例中,目标密码是指下一次用户登录时用于验证用户登录所用的密码是否正确的密码。
具体地,对第一临时密码采用第一盐进行快哈希加密,以得到目标密码。
快哈希加密则是为了提高服务器的计算能力,加快密码生成的效率。
用户注册、登录时服务器不接收、不储存明文密码;在服务器处进行用PBKDF2算法进行n次快加密得到最终的密码串,即目标密码,可以有效对抗用户权限表被拖库以及预先计算破解,极大的提高了系统用户权限体系的安全性。
S130、保存所述用户名、第一盐以及第一临时密码,以形成用户相关信息。
在本实施例中,用户相关信息是指用户名以及与用户名相关的上次生成的盐以及对应的临时密码。首次登录时,则对应的是第一盐和第一临时密码,后续每次登录时都会更新对应的盐以及临时密码,可以有效对抗拖库以及预先计算,在用户无感知的情况下修改密码串,可以有效对抗拖库。
S140、在进行用户登录时,获取来自终端的请求。
在本实施例中,所述请求包括请求下发第一盐的信息。
用户会通过终端发起请求,以请求服务器下发第一盐的相关信息。
S150、根据请求调取对应的内容,并反馈至终端,以由终端采用PBKDF2算法进行明文密码加密所得的两个临时密码以及新盐,以得到第二盐、第三临时密码以及第二临时密码。
在本实施例中,第二盐是指随机生成的字符串,以用于加入至用户输入的明文密码中。第二盐的生成过程与第一盐的生成过程类似,此处不再赘述。
第二临时密码是指对用户登录时所输入的明文密码采用第二盐进行加密后形成的密码。第二临时密码与第一临时密码的生成过程类似,此处不再赘述。
第三临时密码是指用户登录时所输入的明文密码采用第一盐进行加密后形成的密码,第三临时密码与第一临时密码的生成过程类似,此处不再赘述。
在一实施例中,请参阅图4,上述的步骤S 150可包括步骤S151~ S153。
S151、由终端随机生成新盐,以得到第二盐;
S152、由终端对输入的明文密码用第一盐进行慢哈希加密,以得到第三临时密码;
S153、对输入的明文密码用第二盐进行慢哈希加密,以得到第二临时密码。
上述的步骤S151~S153与上述的步骤S111~S112类似,此处不再赘述。
S160、获取用户名、第二盐、第一临时密码以及第二临时密码。
S170、根据第三临时密码以及第一盐生成登录结果。
在本实施例中,登录结果是指用户通过终端输入的用户名以及密码是否匹配且是否可用于登录的结果。
在一实施例中,请参阅图5,上述的步骤S170可包括步骤S171~ S172。
S171、对第三临时密码使用第一盐进行快哈希加密,以得到中间密码;
S172、判断所述中间密码与目标密码是否一致;
S173、若所述中间密码与目标密码一致,则生成登录成功的登录结果;
S174、若所述中间密码与目标密码不一致,则生成登录失败的登录结果。
上述的步骤S171与步骤S120一致,此处不再赘述。由于用户的盐值也是需要存储在服务器的,用户登录时,在输入用户名后,必须获取用户对应的盐值才能加密明文密码进行提交验证:
S180、利用第二盐以及第二临时密码更新用户相关信息。
在一实施例中,请参阅图6,上述的步骤S180可包括步骤S181~S182。
S181、对第二临时密码用第二盐进行快加密,以得到新目标密码;
S182、更新用户相关信息内的第一盐为第二盐,更新用户相关信息内的目标密码为新目标密码。
为了更安全,可以定期的更换用户盐值。
用户在注册、登录时服务器不接收、不储存明文密码;有效防止用户密码在传输过程中无法被窃取;用户每次登陆都会隐式的更新盐信息和密码串,可以有效对抗拖库以及暴力破解;在用户注册和登录的时候,可以在用户无感知的情况下修改密码串,可以有效对抗拖库。
S190、反馈所述登录结果至终端,以在终端进行显示。
PBKDF2算法应用一个伪随机函数以导出密钥。导出密钥的长度本质上是没有限制的,导出密钥的最大有效搜索空间受限于基本伪随机函数的结构。
上述的用户密码生成方法,通过在终端生成随机盐用PBKDF2算法进行多次迭代次数慢加密得到临时密码,再在服务器进行用PBKDF2算法进行多次快加密得到最终的密码,且每次登录都会更新对应的盐值以及密码,用户注册、登录时服务器不接收、不储存明文密码,可以有效对抗用户权限表被拖库以及预先计算破解,极大的提高了系统用户权限体系的安全性。
图7是本发明实施例提供的一种用户密码生成装置300的示意性框图。如图7所示,对应于以上用户密码生成方法,本发明还提供一种用户密码生成装置300。该用户密码生成装置300包括用于执行上述用户密码生成方法的单元,该装置可以被配置于服务器中。具体地,请参阅图7,该用户密码生成装置300包括注册信息获取单元301、第一加密单元302、保存单元303、请求获取单元304、响应反馈单元305、登录信息获取单元306、登录结果生成单元307、信息更新单元308以及结果反馈单元309。
注册信息获取单元301,用于在进行用户注册时,获取用户名、来自终端采用PBKDF2算法进行明文密码加密所得的临时密码以及盐,以得到用户名、第一盐以及第一临时密码;第一加密单元302,用于根据第一临时密码对第一盐进行加密,以得到目标密码;保存单元303,用于保存所述用户名、第一盐以及第一临时密码,以形成用户相关信息;请求获取单元304,用于在进行用户登录时,获取来自终端的请求;响应反馈单元305,用于根据请求调取对应的内容,并反馈至终端,以由终端采用PBKDF2算法进行明文密码加密所得的两个临时密码以及新盐,以得到第二盐、第三临时密码以及第二临时密码;登录信息获取单元306,用于获取用户名、第二盐、第一临时密码以及第二临时密码;登录结果生成单元307,用于根据第三临时密码以及第一盐生成登录结果;信息更新单元308,用于利用第二盐以及第二临时密码更新用户相关信息;结果反馈单元309,用于反馈所述登录结果至终端,以在终端进行显示。
在一实施例中,来自终端采用PBKDF2算法进行明文密码加密所得的临时密码以及盐,包括:由终端随机生成盐,以得到第一盐;由终端对明文密码用第一盐进行慢哈希加密,以得到第一临时密码。
在一实施例中,第一加密单元302,用于对第一临时密码采用第一盐进行快哈希加密,以得到目标密码。
在一实施例中,由终端采用PBKDF2算法进行明文密码加密所得的两个临时密码以及新盐,以得到第二盐、第三临时密码以及第二临时密码,包括:由终端随机生成新盐,以得到第二盐;由终端对输入的明文密码用第一盐进行慢哈希加密,以得到第三临时密码;对输入的明文密码用第二盐进行慢哈希加密,以得到第二临时密码。
在一实施例中,如图8所示,所述登录结果生成单元307包括中间密码生成子单元3071、一致性判断子单元3072、第一生成子单元3073以及第二生成子单元3074。
中间密码生成子单元3071,用于对第三临时密码使用第一盐进行快哈希加密,以得到中间密码;一致性判断子单元3072,用于判断所述中间密码与目标密码是否一致;第一生成子单元3073,用于若所述中间密码与目标密码一致,则生成登录成功的登录结果;第二生成子单元3074,用于若所述中间密码与目标密码不一致,则生成登录失败的登录结果。
在一实施例中,如图9所示,所述信息更新单元308包括新密码生成子单元3081以及更新子单元3082。
新密码生成子单元3081,用于对第二临时密码用第二盐进行快加密,以得到新目标密码;更新子单元3082,用于更新用户相关信息内的第一盐为第二盐,更新用户相关信息内的目标密码为新目标密码。
需要说明的是,所属领域的技术人员可以清楚地了解到,上述用户密码生成装置300和各单元的具体实现过程,可以参考前述方法实施例中的相应描述,为了描述的方便和简洁,在此不再赘述。
上述用户密码生成装置300可以实现为一种计算机程序的形式,该计算机程序可以在如图10所示的计算机设备上运行。
请参阅图10,图10是本申请实施例提供的一种计算机设备的示意性框图。该计算机设备500可以是服务器,其中,服务器可以是独立的服务器,也可以是多个服务器组成的服务器集群。
参阅图10,该计算机设备500包括通过系统总线501连接的处理器502、存储器和网络接口505,其中,存储器可以包括非易失性存储介质503和内存储器504。
该非易失性存储介质503可存储操作系统5031和计算机程序5032。该计算机程序5032包括程序指令,该程序指令被执行时,可使得处理器502执行一种用户密码生成方法。
该处理器502用于提供计算和控制能力,以支撑整个计算机设备500的运行。
该内存储器504为非易失性存储介质503中的计算机程序5032的运行提供环境,该计算机程序5032被处理器502执行时,可使得处理器502执行一种用户密码生成方法。
该网络接口505用于与其它设备进行网络通信。本领域技术人员可以理解,图10中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备500的限定,具体的计算机设备500可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
其中,所述处理器502用于运行存储在存储器中的计算机程序5032,以实现如下步骤:
在进行用户注册时,获取用户名、来自终端采用PBKDF2算法进行明文密码加密所得的临时密码以及盐,以得到用户名、第一盐以及第一临时密码;根据第一临时密码对第一盐进行加密,以得到目标密码;保存所述用户名、第一盐以及第一临时密码,以形成用户相关信息;在进行用户登录时,获取来自终端的请求;根据请求调取对应的内容,并反馈至终端,以由终端采用PBKDF2算法进行明文密码加密所得的两个临时密码以及新盐,以得到第二盐、第三临时密码以及第二临时密码;获取用户名、第二盐、第一临时密码以及第二临时密码;根据第三临时密码以及第一盐生成登录结果;利用第二盐以及第二临时密码更新用户相关信息;反馈所述登录结果至终端,以在终端进行显示。
其中,所述请求包括请求下发第一盐的信息。
在一实施例中,处理器502在实现所述来自终端采用PBKDF2算法进行明文密码加密所得的临时密码以及盐步骤时,具体实现如下步骤:
由终端随机生成盐,以得到第一盐;由终端对明文密码用第一盐进行慢哈希加密,以得到第一临时密码。
在一实施例中,处理器502在实现所述根据第一临时密码对第一盐进行加密,以得到目标密码步骤时,具体实现如下步骤:
对第一临时密码采用第一盐进行快哈希加密,以得到目标密码。
在一实施例中,处理器502在实现所述由终端采用PBKDF2算法进行明文密码加密所得的两个临时密码以及新盐,以得到第二盐、第三临时密码以及第二临时密码步骤时,具体实现如下步骤:
由终端随机生成新盐,以得到第二盐;由终端对输入的明文密码用第一盐进行慢哈希加密,以得到第三临时密码;对输入的明文密码用第二盐进行慢哈希加密,以得到第二临时密码。
在一实施例中,处理器502在实现所述根据第三临时密码以及第一盐生成登录结果步骤时,具体实现如下步骤:
对第三临时密码使用第一盐进行快哈希加密,以得到中间密码;判断所述中间密码与目标密码是否一致;若所述中间密码与目标密码一致,则生成登录成功的登录结果;若所述中间密码与目标密码不一致,则生成登录失败的登录结果。
在一实施例中,处理器502在实现所述利用第二盐以及第二临时密码更新用户相关信息步骤时,具体实现如下步骤:
对第二临时密码用第二盐进行快加密,以得到新目标密码;更新用户相关信息内的第一盐为第二盐,更新用户相关信息内的目标密码为新目标密码。
应当理解,在本申请实施例中,处理器502可以是中央处理单元 (CentralProcessing Unit,CPU),该处理器502还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路 (Application Specific IntegratedCircuit,ASIC)、现成可编程门阵列 (Field-Programmable Gate Array,FPGA) 或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。其中,通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
本领域普通技术人员可以理解的是实现上述实施例的方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成。该计算机程序包括程序指令,计算机程序可存储于一存储介质中,该存储介质为计算机可读存储介质。该程序指令被该计算机系统中的至少一个处理器执行,以实现上述方法的实施例的流程步骤。
因此,本发明还提供一种存储介质。该存储介质可以为计算机可读存储介质。该存储介质存储有计算机程序,其中该计算机程序被处理器执行时使处理器执行如下步骤:
在进行用户注册时,获取用户名、来自终端采用PBKDF2算法进行明文密码加密所得的临时密码以及盐,以得到用户名、第一盐以及第一临时密码;根据第一临时密码对第一盐进行加密,以得到目标密码;保存所述用户名、第一盐以及第一临时密码,以形成用户相关信息;在进行用户登录时,获取来自终端的请求;根据请求调取对应的内容,并反馈至终端,以由终端采用PBKDF2算法进行明文密码加密所得的两个临时密码以及新盐,以得到第二盐、第三临时密码以及第二临时密码;获取用户名、第二盐、第一临时密码以及第二临时密码;根据第三临时密码以及第一盐生成登录结果;利用第二盐以及第二临时密码更新用户相关信息;反馈所述登录结果至终端,以在终端进行显示。
其中,所述请求包括请求下发第一盐的信息。
在一实施例中,所述处理器在执行所述计算机程序而实现所述来自终端采用PBKDF2算法进行明文密码加密所得的临时密码以及盐步骤时,具体实现如下步骤:
由终端随机生成盐,以得到第一盐;由终端对明文密码用第一盐进行慢哈希加密,以得到第一临时密码。
在一实施例中,所述处理器在执行所述计算机程序而实现所述根据第一临时密码对第一盐进行加密,以得到目标密码步骤时,具体实现如下步骤:
对第一临时密码采用第一盐进行快哈希加密,以得到目标密码。
在一实施例中,所述处理器在执行所述计算机程序而实现所述由终端采用PBKDF2算法进行明文密码加密所得的两个临时密码以及新盐,以得到第二盐、第三临时密码以及第二临时密码步骤时,具体实现如下步骤:
由终端随机生成新盐,以得到第二盐;由终端对输入的明文密码用第一盐进行慢哈希加密,以得到第三临时密码;对输入的明文密码用第二盐进行慢哈希加密,以得到第二临时密码。
在一实施例中,所述处理器在执行所述计算机程序而实现所述根据第三临时密码以及第一盐生成登录结果步骤时,具体实现如下步骤:
对第三临时密码使用第一盐进行快哈希加密,以得到中间密码;判断所述中间密码与目标密码是否一致;若所述中间密码与目标密码一致,则生成登录成功的登录结果;若所述中间密码与目标密码不一致,则生成登录失败的登录结果。
在一实施例中,所述处理器在执行所述计算机程序而实现所述利用第二盐以及第二临时密码更新用户相关信息步骤时,具体实现如下步骤:
对第二临时密码用第二盐进行快加密,以得到新目标密码;更新用户相关信息内的第一盐为第二盐,更新用户相关信息内的目标密码为新目标密码。
所述存储介质可以是U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、磁碟或者光盘等各种可以存储程序代码的计算机可读存储介质。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
在本发明所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的。例如,各个单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。
本发明实施例方法中的步骤可以根据实际需要进行顺序调整、合并和删减。本发明实施例装置中的单元可以根据实际需要进行合并、划分和删减。另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以是两个或两个以上单元集成在一个单元中。
该集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分,或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,终端,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。
Claims (10)
1.用户密码生成方法,其特征在于,包括:
在进行用户注册时,获取用户名、来自终端采用PBKDF2算法进行明文密码加密所得的临时密码以及盐,以得到用户名、第一盐以及第一临时密码;
根据第一临时密码对第一盐进行加密,以得到目标密码;
保存所述用户名、第一盐以及第一临时密码,以形成用户相关信息;
在进行用户登录时,获取来自终端的请求;
根据请求调取对应的内容,并反馈至终端,以由终端采用PBKDF2算法进行明文密码加密所得的两个临时密码以及新盐,以得到第二盐、第三临时密码以及第二临时密码;
获取用户名、第二盐、第一临时密码以及第二临时密码;
根据第三临时密码以及第一盐生成登录结果;
利用第二盐以及第二临时密码更新用户相关信息;
反馈所述登录结果至终端,以在终端进行显示。
2.根据权利要求1所述的用户密码生成方法,其特征在于,来自终端采用PBKDF2算法进行明文密码加密所得的临时密码以及盐,包括:
由终端随机生成盐,以得到第一盐;
由终端对明文密码用第一盐进行慢哈希加密,以得到第一临时密码。
3.根据权利要求2所述的用户密码生成方法,其特征在于,所述根据第一临时密码对第一盐进行加密,以得到目标密码,包括:
对第一临时密码采用第一盐进行快哈希加密,以得到目标密码。
4.根据权利要求1所述的用户密码生成方法,其特征在于,所述请求包括请求下发第一盐的信息。
5.根据权利要求1所述的用户密码生成方法,其特征在于,由终端采用PBKDF2算法进行明文密码加密所得的两个临时密码以及新盐,以得到第二盐、第三临时密码以及第二临时密码,包括:
由终端随机生成新盐,以得到第二盐;
由终端对输入的明文密码用第一盐进行慢哈希加密,以得到第三临时密码;
对输入的明文密码用第二盐进行慢哈希加密,以得到第二临时密码。
6.根据权利要求5所述的用户密码生成方法,其特征在于,所述根据第三临时密码以及第一盐生成登录结果,包括:
对第三临时密码使用第一盐进行快哈希加密,以得到中间密码;
判断所述中间密码与目标密码是否一致;
若所述中间密码与目标密码一致,则生成登录成功的登录结果;
若所述中间密码与目标密码不一致,则生成登录失败的登录结果。
7.根据权利要求5所述的用户密码生成方法,其特征在于,所述利用第二盐以及第二临时密码更新用户相关信息,包括:
对第二临时密码用第二盐进行快加密,以得到新目标密码;
更新用户相关信息内的第一盐为第二盐,更新用户相关信息内的目标密码为新目标密码。
8.用户密码生成装置,其特征在于,包括:
注册信息获取单元,用于在进行用户注册时,获取用户名、来自终端采用PBKDF2算法进行明文密码加密所得的临时密码以及盐,以得到用户名、第一盐以及第一临时密码;
第一加密单元,用于根据第一临时密码对第一盐进行加密,以得到目标密码;
保存单元,用于保存所述用户名、第一盐以及第一临时密码,以形成用户相关信息;
请求获取单元,用于在进行用户登录时,获取来自终端的请求;
响应反馈单元,用于根据请求调取对应的内容,并反馈至终端,以由终端采用PBKDF2算法进行明文密码加密所得的两个临时密码以及新盐,以得到第二盐、第三临时密码以及第二临时密码;
登录信息获取单元,用于获取用户名、第二盐、第一临时密码以及第二临时密码;
登录结果生成单元,用于根据第三临时密码以及第一盐生成登录结果;
信息更新单元,用于利用第二盐以及第二临时密码更新用户相关信息;
结果反馈单元,用于反馈所述登录结果至终端,以在终端进行显示。
9.一种计算机设备,其特征在于,所述计算机设备包括存储器及处理器,所述存储器上存储有计算机程序,所述处理器执行所述计算机程序时实现如权利要求1至7中任一项所述的方法。
10.一种存储介质,其特征在于,所述存储介质存储有计算机程序,所述计算机程序被处理器执行时可实现如权利要求1至7中任一项所述的方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010631650.1A CN111538983A (zh) | 2020-07-03 | 2020-07-03 | 用户密码生成方法、装置、计算机设备及存储介质 |
CN202110209656.4A CN113032772A (zh) | 2020-07-03 | 2021-02-24 | 一种登录信息加密认证的方法和系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010631650.1A CN111538983A (zh) | 2020-07-03 | 2020-07-03 | 用户密码生成方法、装置、计算机设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111538983A true CN111538983A (zh) | 2020-08-14 |
Family
ID=71978334
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010631650.1A Pending CN111538983A (zh) | 2020-07-03 | 2020-07-03 | 用户密码生成方法、装置、计算机设备及存储介质 |
CN202110209656.4A Pending CN113032772A (zh) | 2020-07-03 | 2021-02-24 | 一种登录信息加密认证的方法和系统 |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110209656.4A Pending CN113032772A (zh) | 2020-07-03 | 2021-02-24 | 一种登录信息加密认证的方法和系统 |
Country Status (1)
Country | Link |
---|---|
CN (2) | CN111538983A (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112383401A (zh) * | 2020-11-10 | 2021-02-19 | 中国科学院大学 | 一种提供身份鉴别服务的用户名生成方法及系统 |
CN113329004A (zh) * | 2021-05-25 | 2021-08-31 | 浙江大华技术股份有限公司 | 一种认证方法、系统及装置 |
CN113553499A (zh) * | 2021-06-22 | 2021-10-26 | 杭州摸象大数据科技有限公司 | 一种基于营销裂变的作弊探测方法、系统和电子设备 |
CN113626802A (zh) * | 2021-08-23 | 2021-11-09 | 重庆第二师范学院 | 一种设备密码的登录验证系统及方法 |
CN114257387A (zh) * | 2020-09-11 | 2022-03-29 | 中移物联网有限公司 | 登录认证方法及装置 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109981285A (zh) * | 2019-03-11 | 2019-07-05 | 北京纬百科技有限公司 | 一种口令保护方法、口令校验方法及系统 |
CN110059458A (zh) * | 2019-03-12 | 2019-07-26 | 北京中海闻达信息技术有限公司 | 一种用户口令加密认证方法、装置及系统 |
CN111181714A (zh) * | 2019-11-20 | 2020-05-19 | 航天信息股份有限公司 | 密码生成及认证方法、装置、电子设备及介质 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9294267B2 (en) * | 2012-11-16 | 2016-03-22 | Deepak Kamath | Method, system and program product for secure storage of content |
US9634999B1 (en) * | 2013-11-04 | 2017-04-25 | Mobile Iron, Inc. | Mobile device key management |
CN105827395A (zh) * | 2016-04-29 | 2016-08-03 | 上海斐讯数据通信技术有限公司 | 一种网络用户认证方法 |
CN106656476B (zh) * | 2017-01-18 | 2020-12-01 | 腾讯科技(深圳)有限公司 | 一种密码保护方法、装置及计算机可读存储介质 |
-
2020
- 2020-07-03 CN CN202010631650.1A patent/CN111538983A/zh active Pending
-
2021
- 2021-02-24 CN CN202110209656.4A patent/CN113032772A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109981285A (zh) * | 2019-03-11 | 2019-07-05 | 北京纬百科技有限公司 | 一种口令保护方法、口令校验方法及系统 |
CN110059458A (zh) * | 2019-03-12 | 2019-07-26 | 北京中海闻达信息技术有限公司 | 一种用户口令加密认证方法、装置及系统 |
CN111181714A (zh) * | 2019-11-20 | 2020-05-19 | 航天信息股份有限公司 | 密码生成及认证方法、装置、电子设备及介质 |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114257387A (zh) * | 2020-09-11 | 2022-03-29 | 中移物联网有限公司 | 登录认证方法及装置 |
CN112383401A (zh) * | 2020-11-10 | 2021-02-19 | 中国科学院大学 | 一种提供身份鉴别服务的用户名生成方法及系统 |
CN113329004A (zh) * | 2021-05-25 | 2021-08-31 | 浙江大华技术股份有限公司 | 一种认证方法、系统及装置 |
CN113329004B (zh) * | 2021-05-25 | 2023-04-28 | 浙江大华技术股份有限公司 | 一种认证方法、系统及装置 |
CN113553499A (zh) * | 2021-06-22 | 2021-10-26 | 杭州摸象大数据科技有限公司 | 一种基于营销裂变的作弊探测方法、系统和电子设备 |
CN113626802A (zh) * | 2021-08-23 | 2021-11-09 | 重庆第二师范学院 | 一种设备密码的登录验证系统及方法 |
CN113626802B (zh) * | 2021-08-23 | 2023-05-12 | 重庆第二师范学院 | 一种设备密码的登录验证系统及方法 |
Also Published As
Publication number | Publication date |
---|---|
CN113032772A (zh) | 2021-06-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109347835B (zh) | 信息传输方法、客户端、服务器以及计算机可读存储介质 | |
CN111538983A (zh) | 用户密码生成方法、装置、计算机设备及存储介质 | |
US9077710B1 (en) | Distributed storage of password data | |
US9021269B2 (en) | Blind hashing | |
US11606348B2 (en) | User authentication using multi-party computation and public key cryptography | |
CN112425118B (zh) | 公钥-私钥对账户登录和密钥管理器 | |
CN113691502B (zh) | 通信方法、装置、网关服务器、客户端及存储介质 | |
CN109462602B (zh) | 登录信息存储方法、登录验证方法、装置、设备及介质 | |
CN105659231B (zh) | 实现对数据的访问 | |
CN110059458B (zh) | 一种用户口令加密认证方法、装置及系统 | |
CN108471352B (zh) | 基于分布式私钥的处理方法、系统、计算机设备及存储介质 | |
US7693286B2 (en) | Method of delivering direct proof private keys in signed groups to devices using a distribution CD | |
CN111917535B (zh) | 一种数据加密存储方法、装置及服务器 | |
CN110166242A (zh) | 报文传输方法及装置 | |
US20170214683A1 (en) | Secret store for oauth offline tokens | |
CN109981285B (zh) | 一种口令保护方法、口令校验方法及系统 | |
CN112425114A (zh) | 受公钥-私钥对保护的密码管理器 | |
WO2024079340A1 (en) | Method for securely manipulating a password hash, a client-server system involving the same, and methods for securing a user-provided password in a client for recovery only by an authentication server | |
CN110941809A (zh) | 文件加解密方法、装置、指纹密码装置及可读存储介质 | |
US9594918B1 (en) | Computer data protection using tunable key derivation function | |
US12105855B2 (en) | Privacy-enhanced computation via sequestered encryption | |
CN110968878B (zh) | 信息传输方法、系统、电子设备及可读介质 | |
CN116248316A (zh) | 文件加密方法、文件解密方法、装置及存储介质 | |
CN117640109B (zh) | Api接口安全访问方法、装置、电子设备及存储介质 | |
Feng et al. | BDPM: A secure batch dynamic password management scheme in industrial internet environments |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
WD01 | Invention patent application deemed withdrawn after publication | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20200814 |