CN111371563A - 口令验证方法、装置、电子设备及存储介质 - Google Patents

口令验证方法、装置、电子设备及存储介质 Download PDF

Info

Publication number
CN111371563A
CN111371563A CN202010127863.0A CN202010127863A CN111371563A CN 111371563 A CN111371563 A CN 111371563A CN 202010127863 A CN202010127863 A CN 202010127863A CN 111371563 A CN111371563 A CN 111371563A
Authority
CN
China
Prior art keywords
character string
password
client
verified
string
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
Application number
CN202010127863.0A
Other languages
English (en)
Inventor
陈云
秦碧
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Reach Best Technology Co Ltd
Beijing Dajia Internet Information Technology Co Ltd
Original Assignee
Reach Best Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Reach Best Technology Co Ltd filed Critical Reach Best Technology Co Ltd
Priority to CN202010127863.0A priority Critical patent/CN111371563A/zh
Publication of CN111371563A publication Critical patent/CN111371563A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic 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/3226Cryptographic 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • H04L63/0435Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload wherein the sending and receiving network entities apply symmetric encryption, i.e. same key used for encryption and decryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0643Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic 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/3247Cryptographic 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 involving digital signatures

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)
  • Power Engineering (AREA)
  • Storage Device Security (AREA)

Abstract

本公开关于一种口令验证方法、装置、电子设备及存储介质,其中方法通过获取待验证口令,根据分隔符对待验证口令进行分割,得到待验证口令中的签名信息和分享内容,并对签名信息的字符串进行平均分割,得到分割后的第一字符串和第二字符串,进而根据客户端上的本地密钥对分享内容和第一字符串进行编码,得到第三字符串,若第三字符串和第二字符串相匹配,则生成口令验证通过的验证结果。从而实现在口令验证时无需服务端介入,直接通过客户端进行口令验证,且通过拆分口令、重新编码后再验证的方式确保了验证的有效性。

Description

口令验证方法、装置、电子设备及存储介质
技术领域
本公开涉及计算机信息安全技术领域,尤其涉及一种口令验证方法、装置、电子设备及存储介质。
背景技术
随着计算机信息安全技术的发展,出现了通过客户端口令进行信息分享的技术,而客户端口令通常为一种包含特殊编码的字符串,APP(Application,应用程序)能从该字符串中解析出真正分享的信息然后展示给用户。客户端口令的特点是编解码过程不需要服务端参与,全部由客户端自行处理。
相关技术中,目前APP在对客户端口令进行解析前,需要请求服务端对待解析的客户端口令进行合法性校验,以确保在客户端口令合法有效的情况下再进行口令的解析以分享信息。
然而,在客户端网络差甚至无网络的情况下,APP根本无法与服务端进行交互,从而导致APP无法及时地确认客户端口令的合法性,致使无法及时地向用户展示分享的信息。
发明内容
本公开提供一种口令验证方法、装置、电子设备及存储介质,以至少解决相关技术中因客户端网络差而无法及时地确认口令的合法性问题。本公开的技术方案如下:
根据本公开实施例的第一方面,提供一种口令验证方法,应用于客户端,所述方法包括:
获取待验证口令,其中待验证口令中携带有分隔符;
根据分隔符对待验证口令进行分割,得到待验证口令中的签名信息和分享内容;
对签名信息的字符串进行平均分割,得到分割后的第一字符串和第二字符串;
根据客户端上的本地密钥对分享内容和第一字符串进行编码,得到第三字符串;
若第三字符串和第二字符串相匹配,则生成口令验证通过的验证结果。
在其中一个实施例中,根据客户端上的本地密钥对分享内容和第一字符串进行编码,得到第三字符串,包括:对分享内容和第一字符串进行拼接,得到第一拼接字符串;根据客户端上的本地密钥对第一拼接字符串进行加密,得到第一加密字符串;从第一加密字符串中截取前N个字符内容,得到第三字符串,其中N与第一字符串的长度相同。
在其中一个实施例中,根据客户端上的本地密钥对第一拼接字符串进行加密,得到第一加密字符串,包括:根据客户端上的本地密钥采用对称加密算法对第一拼接字符串进行加密;对加密后的第一拼接字符串进行哈希运算,得到第一加密字符串。
在其中一个实施例中,根据分隔符对待验证口令进行分割,得到待验证口令中的签名信息和分享内容,包括:截取分隔符之前的字符内容,得到待验证口令中的签名信息,截取分隔符之后的字符内容,得到待验证口令中的分享内容。
在其中一个实施例中,待验证口令的生成方法包括:生成随机字符串;根据客户端上的本地密钥对随机字符串和分享内容进行签名计算,生成签名信息;在签名信息与分享内容之间加入分隔符后进行拼接,生成待验证口令。
在其中一个实施例中,根据客户端上的本地密钥对随机字符串和分享内容进行签名计算,生成签名信息,包括:将随机字符串和分享内容进行拼接,得到第二拼接字符串;根据客户端上的本地密钥对对第二拼接字符串进行加密,得到第二加密字符串;从第二加密字符串中截取前M个字符内容,得到第二签名字符串,其中M与随机字符串的长度相同;将随机字符串与第二签名字符串进行拼接,得到签名信息。
在其中一个实施例中,根据客户端上的本地密钥对第二拼接字符串进行加密,得到第二加密字符串,包括:根据客户端上的本地密钥采用对称加密算法对第二拼接字符串进行加密;对加密后的第二拼接字符串进行哈希运算,得到第二加密字符串。
根据本公开实施例的第二方面,提供一种口令验证装置,应用于客户端,所述装置包括:
获取模块,被配置为执行获取待验证口令,其中待验证口令中携带有分隔符;
第一分割模块,被配置为执行根据分隔符对待验证口令进行分割,得到待验证口令中的签名信息和分享内容;
第二分割模块,被配置为执行对签名信息的字符串进行平均分割,得到分割后的第一字符串和第二字符串;
编码模块,被配置为执行根据客户端上的本地密钥对分享内容和第一字符串进行编码,得到第三字符串;
验证模块,被配置为执行若第三字符串和第二字符串相匹配,则生成口令验证通过的验证结果。
在其中一个实施例中,编码模块包括:第一拼接单元,被配置为执行对分享内容和第一字符串进行拼接,得到第一拼接字符串;第一加密单元,被配置为执行根据客户端上的本地密钥对第一拼接字符串进行加密,得到第一加密字符串;第一截取单元,被配置为执行从第一加密字符串中截取前N个字符内容,得到第三字符串,其中N与第一字符串的长度相同。
在其中一个实施例中,第一加密单元被配置为执行:根据客户端上的本地密钥采用对称加密算法对第一拼接字符串进行加密;对加密后的第一拼接字符串进行哈希运算,得到第一加密字符串。
在其中一个实施例中,第一分割模块被配置为执行:截取所述分隔符之前的字符内容,得到所述待验证口令中的签名信息,截取所述分隔符之后的字符内容,得到所述待验证口令中的分享内容。
在其中一个实施例中,上述装置还包括:随机数生成模块,被配置为执行生成随机字符串;签名信息生成模块,被配置为执行根据客户端上的本地密钥对随机字符串和分享内容进行签名计算,生成签名信息;口令生成模块,被配置为执行在签名信息与分享内容之间加入分隔符后进行拼接,生成待验证口令。
在其中一个实施例中,签名信息生成模块包括:第二拼接单元,被配置为执行将随机字符串和分享内容进行拼接,得到第二拼接字符串;第二加密单元,被配置为执行根据客户端上的本地密钥对第二拼接字符串进行加密,得到第二加密字符串;第二截取单元,被配置为执行从第二加密字符串中截取前M个字符内容,得到第二签名字符串,其中M与随机字符串的长度相同;第三拼接单元,被配置为执行将随机字符串与第二签名字符串进行拼接,得到签名信息。
在其中一个实施例中,第二加密单元被配置为执行:根据客户端上的本地密钥采用对称加密算法对第二拼接字符串进行加密;对加密后的第二拼接字符串进行哈希运算,得到第二加密字符串。
根据本公开实施例的第三方面,提供一种电子设备,包括:处理器;用于存储处理器可执行指令的存储器;其中,处理器被配置为执行所述指令,使得电子设备执行第一方面的任一项实施例中所述的口令验证方法。
根据本公开实施例的第四方面,提供一种存储介质,当所述存储介质中的指令由电子设备的处理器执行时,使得电子设备能够执行第一方面的任一项实施例中所述的口令验证方法。
根据本公开实施例的第五方面,提供一种计算机程序产品,所述程序产品包括计算机程序,所述计算机程序存储在可读存储介质中,设备的至少一个处理器从所述可读存储介质读取并执行所述计算机程序,使得设备执行第一方面的任一项实施例中所述的口令验证方法。
本公开的实施例提供的技术方案至少带来以下有益效果:通过获取待验证口令,根据分隔符对待验证口令进行分割,得到待验证口令中的签名信息和分享内容,并对签名信息的字符串进行平均分割,得到分割后的第一字符串和第二字符串,进而根据客户端上的本地密钥对分享内容和第一字符串进行编码,得到第三字符串,若第三字符串和第二字符串相匹配,则生成口令验证通过的验证结果。从而实现在口令验证时无需服务端介入,直接通过客户端进行口令验证,且通过拆分口令、重新编码后再验证的方式确保了验证的有效性。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理,并不构成对本公开的不当限定。
图1是根据一示例性实施例示出的一种口令验证方法的流程图。
图2是根据一示例性实施例示出的待验证口令的生成步骤的流程示意图。
图3是根据一示例性实施例示出的生成签名信息步骤的流程示意图。
图4是根据一示例性实施例示出的对分享内容和第一字符串进行编码步骤的流程示意图。
图5是根据一示例性实施例示出的一种口令验证装置的框图。
图6是根据一示例性实施例示出的一种电子设备的内部结构图。
具体实施方式
为了使本领域普通人员更好地理解本公开的技术方案,下面将结合附图,对本公开实施例中的技术方案进行清楚、完整地描述。
需要说明的是,本公开的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本公开的实施例能够以除了在这里图示或描述的那些以外的顺序实施。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
本公开所提供的口令验证方法,可以应用于客户端,即为用户提供本地服务的应用程序APP,APP一般安装在普通的终端上,需要与服务端互相配合运行。在本实施例中,客户端上存储有本地密钥,该本地密钥可以在生成口令或对口令进行验证时的加解密过程中使用。具体的,终端可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑和便携式可穿戴设备。
在一示例性实施例中,如图1所示,提供了一种口令验证方法,包括以下步骤:
在步骤S110中,获取待验证口令,其中待验证口令中携带有分隔符。
其中,待验证口令是指待进行合法性校验的口令,在本实施例中,待验证口令中携带有分隔符,该分隔符通常是在口令生成时加入。该待验证口令通常由分享信息的第一终端上的APP发出,而接收到该待验证口令的第二终端上的APP,可以基于第二终端对该待验证口令的复制而快速获取该待验证口令,在传统技术中,APP获取到待验证口令后会请求服务端对其进行验证,而本公开为了解决因网络差APP无法与服务端进行交互而导致无法及时对口令进行验证的问题,而采用通过APP对口令进行验证的方案。
在步骤S120中,根据分隔符对待验证口令进行分割,得到待验证口令中的签名信息和分享内容。
其中,签名信息通常为无法伪造的一段字符串,这段字符串同时也是对分享者分享的信息真实性的一个有效证明。在本实施例中,待验证口令中包括签名信息和分享内容,为了便于APP对待验证口令的有效验证,通常,APP会与口令生成方统一口令的生成规则,如在本实施例中,待验证口令为在签名信息和分享内容之间加入分隔符并拼接后的信息。因此,基于分隔符对待验证口令进行分割后,即可得到待验证口令中的签名信息和分享内容。
在步骤S130中,对签名信息的字符串进行平均分割,得到分割后的第一字符串和第二字符串。
如上所述,由于签名信息通常为无法伪造的一段字符串,且该字符串通常是基于一定规则生成的,因此,在本实施例中,基于签名信息的生成规则进行逆向操作,即对签名信息进行拆分,将签名信息的字符串进行平均分割,从而得到分割后的两个字符串,即第一字符串和第二字符串。
在步骤S140中,根据客户端上的本地密钥对分享内容和第一字符串进行编码,得到第三字符串。
其中,本地密钥一般在生成口令或对口令进行验证时的加解密过程中使用,具体的,由于本实施例是通过客户端对口令进行验证,因此,客户端上存储有本地密钥,该本地密钥可以通过配置的方式预先存储在客户端中,也可以通过服务端向客户端进行在线配置。编码则是将信息从一种形式或格式转换为另一种形式的过程,在本实施例中,编码包括但不限于加密、拼接以及压缩等。具体的,本实施例基于签名信息中第二字符串的编码规则,并采用客户端上的本地密钥对分享内容和第一字符串进行编码,进而得到第三字符串。
在步骤S150中,若第三字符串和第二字符串相匹配,则生成口令验证通过的验证结果。
由于第三字符串是基于签名信息中第二字符串的编码规则生成的,因此,在本实施例中,通过比较第三字符串和第二字符串,从而得到对待验证口令的验证结果。具体的,如果通过上述步骤得到的第三字符串与第二字符串相同,则表示该待验证口令没有被篡改,从而生成口令验证通过的验证结果。
上述口令验证方法,通过获取待验证口令,根据分隔符对待验证口令进行分割,得到待验证口令中的签名信息和分享内容,并对签名信息的字符串进行平均分割,得到分割后的第一字符串和第二字符串,进而对分享内容和第一字符串进行编码,得到第三字符串,若第三字符串和第二字符串相匹配,则生成口令验证通过的验证结果。从而实现在口令验证时无需服务端介入,直接通过客户端进行口令验证,且通过拆分口令、重新编码后再验证的方式确保了验证的有效性。
在一示例性实施例中,如果通过上述步骤得到的第三字符串与第二字符串不相同,则表示该待验证口令被篡改,则生成口令验证不通过的验证结果。
在一示例性实施例中,如图2所示,待验证口令的生成方法包括:
在步骤S210中,生成随机字符串。
其中,随机字符串是指随机生成一个字符串,即字符串中相邻两个字符之间毫无关系。通常在指定字符串长度以及字符串中字符产生范围的前提下,可以通过任意的随机数生成器生成随机字符串。其中,字符串的长度是指生成的随机字符串中所含字符的个数,字符串中字符产生范围是指随机字符串中字符内容的范围,如可以是大写的26个字母、小写的26个字母、阿拉伯数字中的任意一种或多种的组合等。具体的,当第一终端需要分享信息时,则通过对应的APP或由对应的APP向服务端请求口令,APP或服务端则根据请求首先生成一个随机字符串。
在步骤S220中,根据客户端上的本地密钥对随机字符串和分享内容进行签名计算,生成签名信息。
基中,签名计算可以是一种编码规则。在本实施例中,具体可以是采用客户端上的本地密钥对随机字符串和分享内容按照约定的规则进行编码,从而得到签名信息。
在步骤S230中,在签名信息与分享内容之间加入分隔符后进行拼接,生成待验证口令。
其中,分隔符可以是约定的特殊字符,在本实施例中,为了区分该分隔符与上述随机字符串中的字符内容,因此,该分隔符的内容应与随机字符串中字符内容的范围不同,从而易于分辨待验证口令中的分隔符。
在一示例性实施例中,如图3所示,在步骤S220中,根据客户端上的本地密钥对随机字符串和分享内容进行签名计算,生成签名信息,具体可以通过以下步骤实现:
在步骤S221中,将随机字符串和分享内容进行拼接,得到第二拼接字符串。
在步骤S222中,根据客户端上的本地密钥对第二拼接字符串进行加密,得到第二加密字符串。
其中,加密是以某种特殊的算法改变原有的信息数据的方式,使得未授权的用户即使获得了已加密的信息,但因不知解密的方法,仍然无法了解信息的内容。在本实施例中,加密采用的算法包括但不限于对称加密、哈希运算等中的一种或多种。因此,通过采用客户端上的本地密钥对第二拼接字符串进行加密,得到第二加密字符串
在步骤S223中,从第二加密字符串中截取前M个字符内容,得到第二签名字符串。
其中,M与随机字符串的长度相同。在本实施例中,通过从第二加密字符串中截取与随机字符串相同长度的字符内容,即从第二加密字符串的首字符开始截取M个字符内容,从而得到第二签名字符串。
在步骤S224中,将随机字符串与第二签名字符串进行拼接,得到签名信息。
由于第二加密字符串是由随机字符串和分享内容进行拼接后加密得到的,若直接用来作为签名信息的部分内容,则会导致签名信息过于冗长,且不利于传输及保存,还存在涉密的风险,因此,在本实施例中,通过在第二加密字符串中截取部分字符内容作为签名信息的一部分,可以避免上述风险。且本实施例中为了规范签名信息的生成规则,只截取与随机字符串相同长度的字符内容,并将随机字符串与截取的字符内容进行拼接,从而得到签名信息。。
在一示例性实施例中,在步骤S222中,根据客户端上的本地密钥对第二拼接字符串进行加密,得到第二加密字符串,具体可以是:根据客户端上的本地密钥采用对称加密算法对第二拼接字符串进行加密,然后对加密后的第二拼接字符串进行哈希运算,从而得到第二加密字符串。通过两次的加密运算,进一步保证了分享内容的安全性。
在一示例性实施例中,如图4所示,在步骤S140中,根据客户端上的本地密钥对分享内容和第一字符串进行编码,得到第三字符串具体可以通过以下步骤实现:
在步骤S441中,对分享内容和第一字符串进行拼接,得到第一拼接字符串。
在步骤S442中,根据客户端上的本地密钥对第一拼接字符串进行加密,得到第一加密字符串。
在本实施例中,加密采用的算法可以是采用与签名信息生成时相同的算法。例如,若签名信息生成时采用的是对称加密,则本步骤中同样采用对称加密。
在步骤S443中,从第一加密字符串中截取前N个字符内容,得到第三字符串。
其中,N与第一字符串的长度相同。在本实施例中,通过从第一加密字符串中截取与第一字符串相同长度的字符内容,即从第一加密字符串的首字符开始截取N个字符内容,从而得到第三字符串。其中,截取的具体规则可以按照与上述签名信息生成时相同的规则执行,从而在进行口令验证时,保证了口令验证的有效性。例如,N与上述实施例中的M的字符长度相同。
在一示例性实施例中,在步骤S442中,根据客户端上的本地密钥对第一拼接字符串进行加密,得到第一加密字符串,具体可以包括:根据客户端上的本地密钥采用对称加密算法对第一拼接字符串进行加密,并对加密后的第一拼接字符串进行哈希运算,从而得到第一加密字符串。
在一示例性实施例中,在步骤S120中,根据分隔符对待验证口令进行分割,得到待验证口令中的签名信息和分享内容,具体包括:截取分隔符之前的字符内容,得到待验证口令中的签名信息,截取分隔符之后的字符内容,得到待验证口令中的分享内容。
在一示例性实施例中,若规定了随机字符串的长度为3至6个字符之间,具体长度在此范围内随机生成,且规定了随机字符串中字符内容的范围包括“0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz”,则口令生成过程如下:
1)根据上述字符内容范围随机生成一个3至6位的随机字符串A;
2)将上一步获得的字符串A与实际分享内容的字符串进行拼接,并根据客户端上的本地密钥对拼接后的字符内容进行对称加密,获得加密后的字符串B。再选择一种哈希算法对字符串B进行计算,得到字符串C,从加密字符串C的首字符开始,截取与M个字符内容,M可以与字符串A具有相同长度,从而获得字符串D;
3)字符串A和字符串D拼接在一起,获得字符串E,字符串E就是口令中的签名信息,将签名信息E与分享内容用一个约定的特殊字符做分隔符拼接在一起,从而得到口令。
则口令验证过程如下:
1)将获取的口令通过约定的特殊字符即分隔符分割成两部分,得到分隔符之前的部分即字符串F和分隔符之后的部分即字符串G;
2)将字符串F根据长度平均分成两个子字符串,前半部分字符串H和后半部分字符串I;
3)通过采用与上述口令生成过程的第2)步相同的方法对字符串H和字符串G进行处理,即将字符串H与字符串G进行拼接,并用客户端上的本地密钥对对拼接后的字符串进行对称加密,再选择一种哈希算法对加密后的字符串进行计算,从哈希计算后的字符串的首字符开始,截取N个字符内容,N可以与字符串H具有相同长度,从而获得字符串J,然后比较J与I,如果J与I相同,则验证成功,口令合法。
应该理解的是,虽然图1-4的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图1-4中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
图5是根据一示例性实施例示出的一种口令验证装置框图。参照图5,该装置应用于客户端,具体包括获取模块502、第一分割模块504、第二分割模块506、编码模块508和验证模块510。
获取模块502,被配置为执行获取待验证口令,其中待验证口令中携带有分隔符;
第一分割模块504,被配置为执行根据分隔符对待验证口令进行分割,得到待验证口令中的签名信息和分享内容;
第二分割模块506,被配置为执行对签名信息的字符串进行平均分割,得到分割后的第一字符串和第二字符串;
编码模块508,被配置为执行根据客户端上的本地密钥对分享内容和第一字符串进行编码,得到第三字符串;
验证模块510,被配置为执行若第三字符串和第二字符串相匹配,则生成口令验证通过的验证结果。
在一示例性实施例中,编码模块508包括:第一拼接单元,被配置为执行对分享内容和第一字符串进行拼接,得到第一拼接字符串;第一加密单元,被配置为执行根据客户端上的本地密钥对第一拼接字符串进行加密,得到第一加密字符串;第一截取单元,被配置为执行从第一加密字符串中截取前N个字符内容,得到第三字符串,其中N与第一字符串的长度相同。
在一示例性实施例中,第一加密单元被配置为执行:根据客户端上的本地密钥采用对称加密算法对第一拼接字符串进行加密;对加密后的第一拼接字符串进行哈希运算,得到第一加密字符串。
在一示例性实施例中,第一分割模块被配置为执行:截取所述分隔符之前的字符内容,得到所述待验证口令中的签名信息,截取所述分隔符之后的字符内容,得到所述待验证口令中的分享内容。
在一示例性实施例中,上述装置还包括:随机数生成模块,被配置为执行生成随机字符串;签名信息生成模块,被配置为执行根据客户端上的本地密钥对随机字符串和分享内容进行签名计算,生成签名信息;口令生成模块,被配置为执行在签名信息与分享内容之间加入分隔符后进行拼接,生成待验证口令。
在一示例性实施例中,签名信息生成模块包括:第二拼接单元,被配置为执行将随机字符串和分享内容进行拼接,得到第二拼接字符串;第二加密单元,被配置为执行根据客户端上的本地密钥对第二拼接字符串进行加密,得到第二加密字符串;第二截取单元,被配置为执行从第二加密字符串中截取前M个字符内容,得到第二签名字符串,其中M与随机字符串的长度相同;第三拼接单元,被配置为执行将随机字符串与第二签名字符串进行拼接,得到签名信息。
在一示例性实施例中,第二加密单元被配置为执行:根据客户端上的本地密钥采用对称加密算法对第二拼接字符串进行加密;对加密后的第二拼接字符串进行哈希运算,得到第二加密字符串。
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
图6是根据一示例性实施例示出的一种用于口令验证设备Z00的框图。例如,设备Z00可以是移动电话、计算机、数字广播终端、消息收发设备、游戏控制台、平板设备、医疗设备、健身设备、个人数字助理等。
参照图6,设备Z00可以包括以下一个或多个组件:处理组件Z02、存储器Z04、电力组件Z06、多媒体组件Z08、音频组件Z10、输入/输出(I/O)的接口Z12、传感器组件Z14以及通信组件Z16。
处理组件Z02通常控制设备Z00的整体操作,诸如与显示、电话呼叫、数据通信、相机操作和记录操作相关联的操作。处理组件Z02可以包括一个或多个处理器Z20来执行指令,以完成上述的口令验证方法的全部或部分步骤。此外,处理组件Z02可以包括一个或多个模块,便于处理组件Z02和其他组件之间的交互。例如,处理组件Z02可以包括多媒体模块,以方便多媒体组件Z08和处理组件Z02之间的交互。
存储器Z04被配置为存储各种类型的数据以支持在设备Z00的操作。这些数据的示例包括用于在设备Z00上操作的任何应用程序或方法的指令、联系人数据、电话簿数据、消息、图片、视频等。存储器Z04可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM)、电可擦除可编程只读存储器(EEPROM)、可擦除可编程只读存储器(EPROM)、可编程只读存储器(PROM)、只读存储器(ROM)、磁存储器、快闪存储器、磁盘或光盘。
电源组件Z06为设备Z00的各种组件提供电力。电源组件Z06可以包括电源管理系统,一个或多个电源,及其他与为设备Z00生成、管理和分配电力相关联的组件。
多媒体组件Z08包括在所述设备Z00和用户之间的提供一个输出接口的屏幕。在一些实施例中,屏幕可以包括液晶显示器(LCD)和触摸面板(TP)。如果屏幕包括触摸面板,屏幕可以被实现为触摸屏,以接收来自用户的输入信号。触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。所述触摸传感器可以不仅感测触摸或滑动动作的边界,而且还检测与所述触摸或滑动操作相关的持续时间和压力。在一些实施例中,多媒体组件Z08包括一个前置摄像头和/或后置摄像头。当设备Z00处于操作模式,如拍摄模式或视频模式时,前置摄像头和/或后置摄像头可以接收外部的多媒体数据。每个前置摄像头和后置摄像头可以是一个固定的光学透镜系统或具有焦距和光学变焦能力。
音频组件Z10被配置为输出和/或输入音频信号。例如,音频组件Z10包括一个麦克风(MIC),当设备Z00处于操作模式,如呼叫模式、记录模式和语音识别模式时,麦克风被配置为接收外部音频信号。所接收的音频信号可以被进一步存储在存储器Z04或经由通信组件Z16发送。在一些实施例中,音频组件Z10还包括一个扬声器,用于输出音频信号。
I/O接口Z12为处理组件Z02和外围接口模块之间提供接口,上述外围接口模块可以是键盘,点击轮,按钮等。这些按钮可包括但不限于:主页按钮、音量按钮、启动按钮和锁定按钮。
传感器组件Z14包括一个或多个传感器,用于为设备Z00提供各个方面的状态评估。例如,传感器组件Z14可以检测到设备Z00的打开/关闭状态,组件的相对定位,例如所述组件为设备Z00的显示器和小键盘,传感器组件Z14还可以检测设备Z00或设备Z00一个组件的位置改变,用户与设备Z00接触的存在或不存在,设备Z00方位或加速/减速和设备Z00的温度变化。传感器组件Z14可以包括接近传感器,被配置用来在没有任何的物理接触时检测附近物体的存在。传感器组件Z14还可以包括光传感器,如CMOS或CCD图像传感器,用于在成像应用中使用。在一些实施例中,该传感器组件Z14还可以包括加速度传感器、陀螺仪传感器、磁传感器、压力传感器或温度传感器。
通信组件Z16被配置为便于设备Z00和其他设备之间有线或无线方式的通信。设备Z00可以接入基于通信标准的无线网络,如WiFi,运营商网络(如2G、3G、4G或5G),或它们的组合。在一个示例性实施例中,通信组件Z16经由广播信道接收来自外部广播管理系统的广播信号或广播相关信息。在一个示例性实施例中,所述通信组件Z16还包括近场通信(NFC)模块,以促进短程通信。例如,在NFC模块可基于射频识别(RFID)技术,红外数据协会(IrDA)技术,超宽带(UWB)技术,蓝牙(BT)技术和其他技术来实现。
在示例性实施例中,设备Z00可以被一个或多个应用专用集成电路(ASIC)、数字信号处理器(DSP)、数字信号处理设备(DSPD)、可编程逻辑器件(PLD)、现场可编程门阵列(FPGA)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述口令验证方法。
在示例性实施例中,还提供了一种包括指令的非临时性计算机可读存储介质,例如包括指令的存储器Z04,上述指令可由设备Z00的处理器Z20执行以完成上述口令验证方法。例如,所述非临时性计算机可读存储介质可以是ROM、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本申请旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求指出。
应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。

Claims (10)

1.一种口令验证方法,应用于客户端,其特征在于,所述方法包括:
获取待验证口令,所述待验证口令中携带有分隔符;
根据所述分隔符对所述待验证口令进行分割,得到所述待验证口令中的签名信息和分享内容;
对所述签名信息的字符串进行平均分割,得到分割后的第一字符串和第二字符串;
根据所述客户端上的本地密钥对所述分享内容和所述第一字符串进行编码,得到第三字符串;
若所述第三字符串和所述第二字符串相匹配,则生成口令验证通过的验证结果。
2.根据权利要求1所述的口令验证方法,其特征在于,所述根据所述客户端上的本地密钥对所述分享内容和所述第一字符串进行编码,得到第三字符串,包括:
对所述分享内容和所述第一字符串进行拼接,得到第一拼接字符串;
根据所述客户端上的本地密钥对所述第一拼接字符串进行加密,得到第一加密字符串;
从所述第一加密字符串中截取前N个字符内容,得到所述第三字符串,所述N与所述第一字符串的长度相同。
3.根据权利要求2所述的口令验证方法,其特征在于,所述根据所述客户端上的本地密钥对所述第一拼接字符串进行加密,得到第一加密字符串,包括:
根据所述客户端上的本地密钥采用对称加密算法对所述第一拼接字符串进行加密;
对加密后的所述第一拼接字符串进行哈希运算,得到所述第一加密字符串。
4.根据权利要求1所述的口令验证方法,其特征在于,所述根据所述分隔符对所述待验证口令进行分割,得到所述待验证口令中的签名信息和分享内容,包括:
截取所述分隔符之前的字符内容,得到所述待验证口令中的签名信息,截取所述分隔符之后的字符内容,得到所述待验证口令中的分享内容。
5.根据权利要求1至4任一项所述的口令验证方法,其特征在于,所述待验证口令的生成方法包括:
生成随机字符串;
根据所述客户端上的本地密钥对所述随机字符串和分享内容进行签名计算,生成签名信息;
在所述签名信息与所述分享内容之间加入分隔符后进行拼接,生成所述待验证口令。
6.根据权利要求5所述的口令验证方法,其特征在于,所述根据所述客户端上的本地密钥对所述随机字符串和分享内容进行签名计算,生成签名信息,包括:
将所述随机字符串和所述分享内容进行拼接,得到第二拼接字符串;
根据所述客户端上的本地密钥对所述第二拼接字符串进行加密,得到第二加密字符串;
从所述第二加密字符串中截取前M个字符内容,得到第二签名字符串,所述M与所述随机字符串的长度相同;
将所述随机字符串与所述第二签名字符串进行拼接,得到所述签名信息。
7.根据权利要求6所述的口令验证方法,其特征在于,所述根据所述客户端上的本地密钥对所述第二拼接字符串进行加密,得到第二加密字符串,包括:
根据所述客户端上的本地密钥采用对称加密算法对所述第二拼接字符串进行加密;
对加密后的所述第二拼接字符串进行哈希运算,得到所述第二加密字符串。
8.一种口令验证装置,应用于客户端,其特征在于,所述装置包括:
获取模块,被配置为执行获取待验证口令,所述待验证口令中携带有分隔符;
第一分割模块,被配置为执行根据所述分隔符对所述待验证口令进行分割,得到所述待验证口令中的签名信息和分享内容;
第二分割模块,被配置为执行对所述签名信息的字符串进行平均分割,得到分割后的第一字符串和第二字符串;
编码模块,被配置为执行根据所述客户端上的本地密钥对所述分享内容和所述第一字符串进行编码,得到第三字符串;
验证模块,被配置为执行若所述第三字符串和所述第二字符串相匹配,则生成口令验证通过的验证结果。
9.一种电子设备,其特征在于,包括:
处理器;
用于存储所述处理器可执行指令的存储器;
其中,所述处理器被配置为执行所述指令,以实现如权利要求1至7中任一项所述的口令验证方法。
10.一种存储介质,当所述存储介质中的指令由电子设备的处理器执行时,使得电子设备能够执行如权利要求1至7中任一项所述的口令验证方法。
CN202010127863.0A 2020-02-28 2020-02-28 口令验证方法、装置、电子设备及存储介质 Pending CN111371563A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010127863.0A CN111371563A (zh) 2020-02-28 2020-02-28 口令验证方法、装置、电子设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010127863.0A CN111371563A (zh) 2020-02-28 2020-02-28 口令验证方法、装置、电子设备及存储介质

Publications (1)

Publication Number Publication Date
CN111371563A true CN111371563A (zh) 2020-07-03

Family

ID=71210197

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010127863.0A Pending CN111371563A (zh) 2020-02-28 2020-02-28 口令验证方法、装置、电子设备及存储介质

Country Status (1)

Country Link
CN (1) CN111371563A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113098524A (zh) * 2021-03-22 2021-07-09 北京达佳互联信息技术有限公司 信息编码方法、装置、电子设备及存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6173400B1 (en) * 1998-07-31 2001-01-09 Sun Microsystems, Inc. Methods and systems for establishing a shared secret using an authentication token
CN108847930A (zh) * 2018-06-05 2018-11-20 深圳市中电数通智慧安全科技股份有限公司 一种数据传输方法、装置及消防系统
CN110008745A (zh) * 2019-03-29 2019-07-12 深圳供电局有限公司 一种加密方法、计算机设备和计算机存储介质

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6173400B1 (en) * 1998-07-31 2001-01-09 Sun Microsystems, Inc. Methods and systems for establishing a shared secret using an authentication token
CN108847930A (zh) * 2018-06-05 2018-11-20 深圳市中电数通智慧安全科技股份有限公司 一种数据传输方法、装置及消防系统
CN110008745A (zh) * 2019-03-29 2019-07-12 深圳供电局有限公司 一种加密方法、计算机设备和计算机存储介质

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113098524A (zh) * 2021-03-22 2021-07-09 北京达佳互联信息技术有限公司 信息编码方法、装置、电子设备及存储介质

Similar Documents

Publication Publication Date Title
CN109146470B (zh) 生成付款码的方法及装置
US10607035B2 (en) Method of displaying content on a screen of an electronic processing device
US20220382884A1 (en) Method and device for parsing shared password
CN109039990B (zh) 基于验证码进行行为验证的方法及装置
CN110765434A (zh) 身份验证方法、装置、电子设备和存储介质
CN111368232A (zh) 口令分享回流方法、装置、电子设备及存储介质
CN112232814A (zh) 支付密钥的加密和解密方法、支付认证方法及终端设备
CN111917728A (zh) 一种密码验证方法及装置
CN114221764A (zh) 基于区块链的公钥更新方法、装置和设备
CN104852800A (zh) 数据传输方法及装置
CN112243000B (zh) 应用数据的处理方法,装置、计算机设备及存储介质
CN113868505A (zh) 数据处理方法、装置、电子设备、服务器及存储介质
CN111371563A (zh) 口令验证方法、装置、电子设备及存储介质
CN114221788B (zh) 登录方法、装置、电子设备及存储介质
CN107302519B (zh) 一种终端设备的身份认证方法、装置和终端设备、服务器
CN106161365B (zh) 一种数据处理方法、装置及终端
CN111241522B (zh) 固件签名方法及装置、存储介质
CN115242453B (zh) 一种数据加密方法、数据解密方法及装置
CN112016928B (zh) 一种支付方法、装置和用于支付的装置
GB2566043A (en) A method of displaying content on a screen of an electronic processing device
CN110139230B (zh) 转发短信的方法、装置及智能设备
WO2023236042A1 (zh) 一种生物特征识别方法、装置、电子设备及存储介质
CN111695158B (zh) 运算方法及装置
CN114826556A (zh) 前端代码处理方法及装置
CN117077094A (zh) 用户身份验证方法、装置、设备及介质

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