CN110855446A - 一种密码验证方法及装置 - Google Patents
一种密码验证方法及装置 Download PDFInfo
- Publication number
- CN110855446A CN110855446A CN201911185773.0A CN201911185773A CN110855446A CN 110855446 A CN110855446 A CN 110855446A CN 201911185773 A CN201911185773 A CN 201911185773A CN 110855446 A CN110855446 A CN 110855446A
- Authority
- CN
- China
- Prior art keywords
- value
- verified
- password
- account
- splicing
- 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.)
- Granted
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3236—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
- H04L9/3239—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions involving non-keyed hash functions, e.g. modification detection codes [MDCs], MD5, SHA or RIPEMD
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
- H04L63/083—Network architectures or network communication protocols for network security for authentication of entities using passwords
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3226—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using a predetermined code, e.g. password, passphrase or PIN
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Storage Device Security (AREA)
Abstract
本申请提供一种密码验证方法及装置,通过获取用户输入的待验证账号和待验证密码并根据所述待验证账号获取所述待验证账号的创建时间;然后根据预设算法计算所述待验证账号、待验证密码和创建时间对应的第一拼接MD5值;再计算第一拼接MD5值对应的待验证MD5值;最后将所述待验证MD5值与数据库中所述待验证账号对应的目标MD5值进行比较,在比较结果为相同时,确定用户验证成功。本申请通过分别计算账号、密码、创建时间的MD5值再将三个MD5值拼接后的值在进行计算得到最终的MD5值作为密码存储到数据库中,可以实现即使相同密码存储在数据库中也会对应不同的数据,杜绝尝试密码的情况,提高了密码存储的安全性。
Description
技术领域
本申请涉及通信技术领域,尤其涉及一种密码验证方法及装置。
背景技术
随着互联网技术的发展,各种网络病毒层出不穷,网络黑客能采用各种手段获取用户数据库存储信息,当密码以明文形式存储在数据库中的时候,极易造成用户密码的泄露。为了避免密码泄露,通常可以采用MD5散列值存储的方式。MD5散列值存储是指,在存储密码的时候,计算密码的MD5散列值,然后将该散列值存储在数据库之中。但是当黑客获取到数据库权限之后,可以获取到MDC散列值,由于在一些情况下,当密码相同时对应的MD5散列值也是相同的,黑客可以通过用尝试的方法获取到密码,从而进行用户文件的窃取,危害用户的信息安全。
发明内容
有鉴于此,本申请提供一种密码验证方法及装置,来解决MD5散列值存储密码容易被破解的问题。
具体地,本申请是通过如下技术方案实现的:
第一方面,本申请提供一种密码验证方法,所述方法应用于网络设备,该方法包括:
获取用户输入的待验证账号和待验证密码;
根据所述待验证账号获取所述待验证账号的创建时间;
根据预设算法计算所述待验证账号、待验证密码和创建时间对应的第一拼接MD5值;
计算第一拼接MD5值对应的待验证MD5值;
将所述待验证MD5值与数据库中所述待验证账号对应的目标MD5值进行比较,在比较结果为相同时,确定用户验证成功。
第二方面,本申请提供一种密码验证装置,所述装置应用于网络设备,该装置包括:
第一获取单元,用于获取用户输入的待验证账号和待验证密码;
第二获取单元,用于根据所述待验证账号获取所述待验证账号的创建时间;
拼接单元,用于根据预设算法计算所述待验证账号、待验证密码和创建时间对应的第一拼接MD5值;
计算单元,用于计算第一拼接MD5值对应的待验证MD5值;
验证单元,用于将所述待验证MD5值与数据库中所述待验证账号对应的目标MD5值进行比较,在比较结果为相同时,确定用户验证成功。
第三方面,本申请还提供一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述密码验证方法的任一步骤。
第四方面,本申请还提供一种网络设备,所述网络设备包括存储器、处理器、通信接口以及通信总线;其中,所述存储器、处理器、通信接口通过所述通信总线进行相互间的通信;
所述存储器,用于存放计算机程序;
所述处理器,用于执行所述存储器上所存放的计算机程序,所述处理器执行所述计算机程序时实现上述密码验证方法的任一步骤。
由此可见,本申请可以通过获取用户输入的待验证账号和待验证密码并根据所述待验证账号获取所述待验证账号的创建时间;然后根据预设算法计算所述待验证账号、待验证密码和创建时间对应的第一拼接MD5值;再计算第一拼接MD5值对应的待验证MD5值;最后将所述待验证MD5值与数据库中所述待验证账号对应的目标MD5值进行比较,在比较结果为相同时,确定用户验证成功。本申请通过分别计算账号、密码、创建时间的MD5值再将三个MD5值拼接后的值在进行计算得到最终的MD5值作为密码存储到数据库中,可以实现即使相同密码存储在数据库中也会对应不同的数据,杜绝尝试密码的情况,提高了密码存储的安全性。
附图说明
图1是本申请一种示例性实施方式中的一种密码验证方法的处理流程图;
图2是本申请一种示例性实施方式中的拼接示意图;
图3是本申请一种示例性实施方式中的密码存储的处理流程图;
图4是本申请一种示例性实施方式中的密码验证的处理流程图;
图5是本申请一种示例性实施方式中的一种密码验证装置的逻辑结构图;
图6本申请一种示例性实施方式中的一种网络设备的硬件结构图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
在本申请使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请。在本申请和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本申请可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
请参考图1,是本申请一种示例性实施方式中的一种密码验证方法的处理流程图,所述方法应用于网络设备,所述方法包括步骤101-105。
步骤101、获取用户输入的待验证账号和待验证密码;
在本实施例中,当用户通过输入待验证账号和待验证密码进行登录验证时,网络设备可以获取所述待验证账号和待验证密码。
步骤102、根据所述待验证账号获取所述待验证账号的创建时间;
网络设备可以根据获取的待验证账号在本地查找该待验证账号对应的账号创建时间。
需要说明的是,在用户查找待验证账号对应的创建时间之前,可以判断该待验证账号是否已被创建,如果是,则可以在数据库中查找到待验证账号对应的创建时间,如果否,则无法在数据库中查找到与该待验证账号相同的账号,则可以提示用户账号不存在,请用户先注册账号。
步骤103、根据预设算法计算所述待验证账号、待验证密码和创建时间对应的第一拼接MD5值;
在本实施例中,网络设备可以根据预设算法计算所述待验证账号、待验证密码和创建时间对应的第一拼接MD5值。
在一个实施例中,所述预设算法,具体是:获取三个特征值,其中第一特征值、第二特征值和第三特征值分别对应所述待验证账号、待验证密码和创建时间;分别计算这三个特征值对应的第一MD5值、第二MD5值和第三MD5值;将所述第一MD5值、第二MD5值和第三MD5值进行拼接之后得到拼接MD5值。
针对将所述第一MD5值、第二MD5值和第三MD5值进行拼接之后得到拼接MD5值的具体拼接过程,可以是从所述第一MD5值、所述第二MD5值和所述第三MD5值中分别获取指定位数的数值,将获取到的数值进行拼接之后得到拼接MD5值。MD5值通常为16位或32位,一般第一MD5值、第二MD5值和第三MD5值可以选择16位的MD5值,拼接后的MD5值通常为32位的MD5值,拼接后的MD5值中分别可以包含第一MD5值、第二MD5值和第三MD5值中的部分数值,因此可以使拼接后的MD5值中同时受账号、密码、创建时间这三个特征的影响,提高MD5值的随机性,即使相同密码,也会因为账号不同、创建时间不同而产生不同的MD5值,从而避免仅针对密码这一个特征进行MD5计算,减少被破解的概率。
在一个实施例中,如图2所示,优选的,可以从16位的所述第一MD5值中获取前8位数值,如“a1b1c1d1”,从16位的所述第二MD5值中获取前8位数值,如“a2b2c2d2”,将获取的两个8位数值与所述第三MD5值对应的16位的数值,如“a3b3c3d3e3f3g3h3”,进行拼接之后得到32位的拼接MD5值,如“a1b1c1d1a2b2c2d2a3b3c3d3e3f3g3h3”。由于创建时间的随机性比较高,保留完整的创建时间对应的MD5值,账号和密码的MD5值选取一部分进行拼接,这样的拼接方式可以最大程度的减少被猜中的概率。
步骤104、计算第一拼接MD5值对应的待验证MD5值;
得到第一拼接MD5值后,可以进一步将第一拼接MD5值进行MD5计算,得到待验证MD5值。
步骤105、将所述待验证MD5值与数据库中所述待验证账号对应的目标MD5值进行比较,在比较结果为相同时,确定用户验证成功。
在一个实施例中,在用户首次创建账号时,网络设备可以记录用户创建的账号、密码和账号的创建时间;根据预设算法计算所述账号、密码和创建时间对应的第二拼接MD5值;其中,拼接的过程采用的预设算法与上述步骤103中采用的预设算法相同,此处该预设算法中的第一特征值、第二特征值和第三特征值分别对应所述账号、密码和创建时间相对应。之后计算所述第二拼接MD5值对应的目标MD5值,计算方法与步骤104的计算方法相同。得到目标MD5值后,可以将所述目标MD5值与所述账号的对应关系存储到数据库中。
因此,当网络设备计算出待验证MD5值后,可以进一步将所述待验证MD5值与数据库中所述待验证账号对应的目标MD5值进行比较,在比较结果为相同时,认为该用户输入的待验证账号和待验证密码是合法的,从而确定用户验证成功,允许用户登录;如果比较结果为不同时,可以认为该用户输入的待验证账号和待验证密码至少有一个是非法的,从而确定用户验证失败,拒绝用户登录,并可以提示用户重新进行登录验证。
相比于仅将密码对应的MD5值进行存储的方法,本申请通过分别计算账号、密码、创建时间的MD5值再将三个MD5值拼接后的值在进行计算得到最终的MD5值作为密码存储到数据库中,可以实现即使相同密码存储在数据库中也会对应不同的数据,杜绝尝试密码的情况,提高了密码存储的安全性。此外,相比于bcrypt算法存储时计算448位密钥的百毫秒级的计算时间,本申请的计算时间基本属于1毫秒级,从而相比于bcrypt算法本申请可以缩短计算时间,避免触发DOS攻击。
为使本申请的目的、技术方案及优点更加清楚明白,下面结合图3和图4对本申请的方案作进一步地详细说明。
请参考图3,是本申请一种示例性实施方式中的密码存储的处理流程图,其中包括:
步骤301、在创建账号时,获取用户创建的账号、密码和账号的创建时间;
步骤302、分别计算所述账号、密码和创建时间对应的MD5值;
步骤303、将计算出的三个MD5值拼接,计算拼接后的数值的MD5值作为目标MD5值;
步骤304、将所述创建时间和账号的对应关系,以及所述目标MD5值与所述账号的对应关系存储到数据库中,并结束。
例如,创建一个账号为admin,密码为abcd1234568的账户,创建时间是2019年3月11日10:39:40,那么,整个密码存储的流程如下:
先获取账号admin,密码abcd1234568,创建时间20190311103940。将账号和创建时间的对应关系存储在数据库中。
假设计算账号admin的MD5值为7a57a5a743894a0e,密码abcd1234568的MD5值为541dafa0c8126abe,创建时间20190311103940的MD5值为cd69bf6b9a5ed58b1a;选择账号和密码的前8位MD5值和创建时间的16位MD5值进行拼接,得到的拼接结果是一个32位的MD5值:7a57a5a7541dafcd69bf6b9a5ed58b1a;
之后计算7a57a5a7541dafcd69bf6b9a5ed58b1a对应的目标MD5值为:9871fae8810984662144f5dc4a87cbba。将目标MD5值与账号admin的对应关系保存在数据库中。
请参考图4,是本申请一种示例性实施方式中的密码验证的处理流程图,其中包括:
步骤401、获取用户输入的待验证账号、待验证密码;
步骤402、获取所述待验证账号对应的创建时间;
步骤403、分别计算所述待验证账号、待验证密码和创建时间对应的MD5值;
步骤404、将计算出的三个MD5值拼接,计算拼接后的数值的MD5值作为待验证MD5值;
步骤405、判断所述待验证MD5值与数据库中所述待验证账号对应的目标MD5值是否相同,若是,则转步骤406;若否,则转步骤407;
步骤406、确定用户验证成功,允许用户登录,并结束流程;
步骤407、确定用户验证失败,拒绝用户登录,提示用户重新进行登录验证,并结束流程。
在一种情况中,若用户登录时,输入账号admin,密码abcd1234568,根据账号获取对应的时间从数据库中获取20190311103940。假设,计算账号的MD5值为7a57a5a743894a0e,密码的MD5值为541dafa0c8126abe,创建时间的MD5值为cd69bf6b9a5ed58b1a。将这三个MD5值根据图2的方法进行拼接之后,将拼接之后的值进行MD5计算,得到待验证MD5值为:9871fae8810984662144f5dc4a87cbba。由于该值与与数据库中账号admin对应的目标MD5值9871fae8810984662144f5dc4a87cbba相匹配,则确认用户验证成功,允许用户登录。
在另一种情况中,若用户登录时,输入账号admin,密码abcd12345668,根据账号获取对应的时间从数据库中获取20190311103940。假设,计算账号的MD5值为7a57a5a743894a0e,密码的MD5值为0333ef48405a6516,创建时间的MD5值为cd69bf6b9a5ed58b1a。将这三个MD5值根据图2的方法进行拼接之后,将拼接之后的值进行MD5计算,得到待验证MD5值为:70afe04440f596c06672fa6b1adad2f4。由于该值与与数据库中账号admin对应的目标MD5值9871fae8810984662144f5dc4a87cbba不匹配,则确认用户验证失败,则提示用户重新登录。
本申请通过分别计算账号、密码、创建时间的MD5值再将三个MD5值拼接后的值在进行计算得到最终的MD5值作为密码存储到数据库中,可以实现即使相同密码存储在数据库中也会对应不同的数据,杜绝尝试密码的情况,提高了密码存储的安全性。
与前述密码验证方法的实施例相对应,本申请还提供了密码验证装置的实施例。
请参见图5,为本申请在一个示例性实施例中的一种密码验证装置的结构示意图,所述装置应用于网络设备,所述装置50包括:
第一获取单元501,用于获取用户输入的待验证账号和待验证密码;
第二获取单元502,用于根据所述待验证账号获取所述待验证账号的创建时间;
拼接单元503,用于根据预设算法计算所述待验证账号、待验证密码和创建时间对应的第一拼接MD5值;
计算单元504,用于计算第一拼接MD5值对应的待验证MD5值;
验证单元505,用于将所述待验证MD5值与数据库中所述待验证账号对应的目标MD5值进行比较,在比较结果为相同时,确定用户验证成功。
作为一个实施例,所述装置还包括:
存储单元506,用于在用户首次创建账号时,记录用户的账号、密码和账号的创建时间;根据预设算法计算所述账号、密码和创建时间对应的第二拼接MD5值;计算所述第二拼接MD5值对应的目标MD5值;将所述目标MD5值与所述账号的对应关系存储到数据库中。
作为一个实施例,所述预设算法,具体包括:
获取三个特征值,其中第一特征值、第二特征值和第三特征值分别对应所述待验证账号、待验证密码和创建时间,或者第一特征值、第二特征值和第三特征值分别对应所述账号、密码和创建时间;
分别计算这三个特征值对应的第一MD5值、第二MD5值和第三MD5值;
将所述第一MD5值、第二MD5值和第三MD5值进行拼接之后得到拼接MD5值。
作为一个实施例,将所述第一MD5值、第二MD5值和第三MD5值进行拼接之后得到拼接MD5值,具体包括:
从所述第一MD5值、所述第二MD5值和所述第三MD5值中分别获取指定位数的数值,将获取到的数值进行拼接之后得到拼接MD5值。
作为一个实施例,从所述第一MD5值、所述第二MD5值和所述第三MD5值中分别获取指定位数的数值,将获取到的数值进行拼接之后得到拼接MD5值,具体包括:
从16位的所述第一MD5值中获取前8位数值,从16位的所述第二MD5值中获取前8位数值,将获取的两个8位数值与所述第三MD5值对应的16位的数值进行拼接之后得到32位的拼接MD5值。
上述装置中各个单元的功能和作用的实现过程具体详见上述方法中对应步骤的实现过程,在此不再赘述。
对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本申请方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
与前述密码验证方法的实施例相对应,本申请还提供了实现密码验证方法的网络设备的实施例。
如图6所示,所述网络设备包括存储器61、处理器62、通信接口63以及通信总线64;其中,所述存储器61、处理器62、通信接口63通过所述通信总线64进行相互间的通信;
所述存储器61,用于存放计算机程序;
所述处理器62,用于执行所述存储器61上所存放的计算机程序,所述处理器62执行所述计算机程序时实现本申请实施例提供的密码验证方法的任一步骤。
本申请还提供一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现本申请实施例提供的密码验证方法的任一步骤。
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于网络设备和计算机可读存储介质的实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
综上所述,本申请可以通过获取用户输入的待验证账号和待验证密码并根据所述待验证账号获取所述待验证账号的创建时间;然后根据预设算法计算所述待验证账号、待验证密码和创建时间对应的第一拼接MD5值;再计算第一拼接MD5值对应的待验证MD5值;最后将所述待验证MD5值与数据库中所述待验证账号对应的目标MD5值进行比较,在比较结果为相同时,确定用户验证成功。本申请通过分别计算账号、密码、创建时间的MD5值再将三个MD5值拼接后的值在进行计算得到最终的MD5值作为密码存储到数据库中,可以实现即使相同密码存储在数据库中也会对应不同的数据,杜绝尝试密码的情况,提高了密码存储的安全性。
以上所述仅为本申请的较佳实施例而已,并不用以限制本申请,凡在本申请的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本申请保护的范围之内。
Claims (10)
1.一种密码验证方法,其特征在于,所述方法应用于网络设备,该方法包括:
获取用户输入的待验证账号和待验证密码;
根据所述待验证账号获取所述待验证账号的创建时间;
根据预设算法计算所述待验证账号、待验证密码和创建时间对应的第一拼接MD5值;
计算第一拼接MD5值对应的待验证MD5值;
将所述待验证MD5值与数据库中所述待验证账号对应的目标MD5值进行比较,在比较结果为相同时,确定用户验证成功。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在用户首次创建账号时,记录用户的账号、密码和账号的创建时间;
根据预设算法计算所述账号、密码和创建时间对应的第二拼接MD5值;
计算所述第二拼接MD5值对应的目标MD5值;
将所述目标MD5值与所述账号的对应关系存储到数据库中。
3.根据权利要求1或2所述的方法,其特征在于,所述预设算法,具体包括:
获取三个特征值,其中第一特征值、第二特征值和第三特征值分别对应所述待验证账号、待验证密码和创建时间,或者第一特征值、第二特征值和第三特征值分别对应所述账号、密码和创建时间;
分别计算这三个特征值对应的第一MD5值、第二MD5值和第三MD5值;
将所述第一MD5值、第二MD5值和第三MD5值进行拼接之后得到拼接MD5值。
4.根据权利要求3所述的方法,其特征在于,
将所述第一MD5值、第二MD5值和第三MD5值进行拼接之后得到拼接MD5值,具体包括:
从所述第一MD5值、所述第二MD5值和所述第三MD5值中分别获取指定位数的数值,将获取到的数值进行拼接之后得到拼接MD5值。
5.根据权利要求4所述的方法,其特征在于,从所述第一MD5值、所述第二MD5值和所述第三MD5值中分别获取指定位数的数值,将获取到的数值进行拼接之后得到拼接MD5值,具体包括:
从16位的所述第一MD5值中获取前8位数值,从16位的所述第二MD5值中获取前8位数值,将获取的两个8位数值与所述第三MD5值对应的16位的数值进行拼接之后得到32位的拼接MD5值。
6.一种密码验证装置,其特征在于,所述装置应用于网络设备,该装置包括:
第一获取单元,用于获取用户输入的待验证账号和待验证密码;
第二获取单元,用于根据所述待验证账号获取所述待验证账号的创建时间;
拼接单元,用于根据预设算法计算所述待验证账号、待验证密码和创建时间对应的第一拼接MD5值;
计算单元,用于计算第一拼接MD5值对应的待验证MD5值;
验证单元,用于将所述待验证MD5值与数据库中所述待验证账号对应的目标MD5值进行比较,在比较结果为相同时,确定用户验证成功。
7.根据权利要求6所述的装置,其特征在于,所述装置还包括:
存储单元,用于在用户首次创建账号时,记录用户的账号、密码和账号的创建时间;根据预设算法计算所述账号、密码和创建时间对应的第二拼接MD5值;计算所述第二拼接MD5值对应的目标MD5值;将所述目标MD5值与所述账号的对应关系存储到数据库中。
8.根据权利要求6或7所述的装置,其特征在于,所述预设算法,具体包括:
获取三个特征值,其中第一特征值、第二特征值和第三特征值分别对应所述待验证账号、待验证密码和创建时间,或者第一特征值、第二特征值和第三特征值分别对应所述账号、密码和创建时间;
分别计算这三个特征值对应的第一MD5值、第二MD5值和第三MD5值;
将所述第一MD5值、第二MD5值和第三MD5值进行拼接之后得到拼接MD5值。
9.根据权利要求8所述的装置,其特征在于,
将所述第一MD5值、第二MD5值和第三MD5值进行拼接之后得到拼接MD5值,具体包括:
从所述第一MD5值、所述第二MD5值和所述第三MD5值中分别获取指定位数的数值,将获取到的数值进行拼接之后得到拼接MD5值。
10.根据权利要求9所述的装置,其特征在于,从所述第一MD5值、所述第二MD5值和所述第三MD5值中分别获取指定位数的数值,将获取到的数值进行拼接之后得到拼接MD5值,具体包括:
从16位的所述第一MD5值中获取前8位数值,从16位的所述第二MD5值中获取前8位数值,将获取的两个8位数值与所述第三MD5值对应的16位的数值进行拼接之后得到32位的拼接MD5值。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911185773.0A CN110855446B (zh) | 2019-11-27 | 2019-11-27 | 一种密码验证方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911185773.0A CN110855446B (zh) | 2019-11-27 | 2019-11-27 | 一种密码验证方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110855446A true CN110855446A (zh) | 2020-02-28 |
CN110855446B CN110855446B (zh) | 2022-11-25 |
Family
ID=69605761
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911185773.0A Active CN110855446B (zh) | 2019-11-27 | 2019-11-27 | 一种密码验证方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110855446B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111917535A (zh) * | 2020-06-30 | 2020-11-10 | 山东信通电子股份有限公司 | 一种数据加密存储方法、装置及服务器 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2013017029A1 (zh) * | 2011-08-03 | 2013-02-07 | 腾讯科技(深圳)有限公司 | 注册或登陆的方法和系统 |
CN105867934A (zh) * | 2016-04-13 | 2016-08-17 | 厦门雅迅网络股份有限公司 | 一种基于二分法和md5校验的文件远程升级方法 |
WO2017201896A1 (zh) * | 2016-05-26 | 2017-11-30 | 中兴通讯股份有限公司 | 一种安全存储移动终端密码的方法及装置 |
CN107896208A (zh) * | 2017-10-23 | 2018-04-10 | 国政通科技股份有限公司 | 一种身份认证方法及系统 |
CN108964877A (zh) * | 2018-06-29 | 2018-12-07 | 火币(广州)区块链科技有限公司 | 一种基于对密码使用哈希算法加密防碰撞的方法 |
-
2019
- 2019-11-27 CN CN201911185773.0A patent/CN110855446B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2013017029A1 (zh) * | 2011-08-03 | 2013-02-07 | 腾讯科技(深圳)有限公司 | 注册或登陆的方法和系统 |
CN105867934A (zh) * | 2016-04-13 | 2016-08-17 | 厦门雅迅网络股份有限公司 | 一种基于二分法和md5校验的文件远程升级方法 |
WO2017201896A1 (zh) * | 2016-05-26 | 2017-11-30 | 中兴通讯股份有限公司 | 一种安全存储移动终端密码的方法及装置 |
CN107896208A (zh) * | 2017-10-23 | 2018-04-10 | 国政通科技股份有限公司 | 一种身份认证方法及系统 |
CN108964877A (zh) * | 2018-06-29 | 2018-12-07 | 火币(广州)区块链科技有限公司 | 一种基于对密码使用哈希算法加密防碰撞的方法 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111917535A (zh) * | 2020-06-30 | 2020-11-10 | 山东信通电子股份有限公司 | 一种数据加密存储方法、装置及服务器 |
Also Published As
Publication number | Publication date |
---|---|
CN110855446B (zh) | 2022-11-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102493744B1 (ko) | 생체 특징에 기초한 보안 검증 방법, 클라이언트 단말, 및 서버 | |
KR102193644B1 (ko) | 설비 검증 방법 및 장치 | |
US9460567B2 (en) | Establishing secure communication for vehicle diagnostic data | |
US8001383B2 (en) | Secure serial number | |
US10771441B2 (en) | Method of securing authentication in electronic communication | |
US10255425B2 (en) | Secure authentication protocol systems and methods | |
CN107426235B (zh) | 基于设备指纹的权限认证方法、装置及系统 | |
US20150026784A1 (en) | Hash Synchronization for Preventing Unauthorized Server Access Using Stolen Passwords | |
KR102162044B1 (ko) | 블록체인 기반의 사용자 인증 방법 및 그 시스템 | |
US20230042508A1 (en) | Securely communicating service status in a distributed network environment | |
KR102017505B1 (ko) | 난수발생장치를 이용한 사용자 인증 방법 | |
CN110912855A (zh) | 一种基于渗透性测试用例集的区块链架构安全评估方法及系统 | |
CN110071917B (zh) | 用户口令检测方法、设备、装置及存储介质 | |
JP2000132515A (ja) | 不正アクセス判断装置及び方法 | |
CN106209793A (zh) | 一种身份验证方法及验证系统 | |
JP2012502338A (ja) | 少なくとも1つのサービスを提供するためのサーバシステムおよびその方法 | |
CN111324885A (zh) | 一种分布式身份认证方法 | |
CN113268716A (zh) | 一种应用的授权验证系统、方法、装置及存储介质 | |
CN110855446B (zh) | 一种密码验证方法及装置 | |
WO2017112484A1 (en) | Data breach detection system | |
KR101600474B1 (ko) | 솔티드 패스워드 인증방법 | |
US11177958B2 (en) | Protection of authentication tokens | |
CN114978677A (zh) | 资产访问控制方法、装置、电子设备和计算机可读介质 | |
CN114978544A (zh) | 一种访问认证方法、装置、系统、电子设备及介质 | |
Edwards et al. | FFDA: A novel four-factor distributed authentication mechanism |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |