CN111143786A - 账号的验证口令生成方法、基于验证口令的账号验证方法 - Google Patents
账号的验证口令生成方法、基于验证口令的账号验证方法 Download PDFInfo
- Publication number
- CN111143786A CN111143786A CN201911359119.7A CN201911359119A CN111143786A CN 111143786 A CN111143786 A CN 111143786A CN 201911359119 A CN201911359119 A CN 201911359119A CN 111143786 A CN111143786 A CN 111143786A
- Authority
- CN
- China
- Prior art keywords
- sequence
- character string
- verification
- verification password
- positive integer
- 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
- 238000012795 verification Methods 0.000 title claims abstract description 311
- 238000000034 method Methods 0.000 title claims abstract description 80
- 125000004122 cyclic group Chemical group 0.000 claims abstract description 48
- 238000004590 computer program Methods 0.000 claims description 28
- 238000007781 pre-processing Methods 0.000 claims description 9
- 238000010276 construction Methods 0.000 claims description 8
- 238000010586 diagram Methods 0.000 description 7
- 230000008569 process Effects 0.000 description 7
- 238000005516 engineering process Methods 0.000 description 3
- 230000007246 mechanism Effects 0.000 description 3
- 101100217298 Mus musculus Aspm gene Proteins 0.000 description 2
- 241000283973 Oryctolagus cuniculus Species 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000001788 irregular Effects 0.000 description 1
- 230000001343 mnemonic effect Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- KAICRBBQCRKMPO-UHFFFAOYSA-N phosphoric acid;pyridine-3,4-diamine Chemical compound OP(O)(O)=O.NC1=CC=NC=C1N KAICRBBQCRKMPO-UHFFFAOYSA-N 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000010200 validation analysis 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/10—Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
- G06F21/12—Protecting executable software
- G06F21/121—Restricting unauthorised execution of programs
-
- 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/31—User authentication
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Multimedia (AREA)
- Technology Law (AREA)
- Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
- Document Processing Apparatus (AREA)
Abstract
一种账号的验证口令生成方法,其中,账户的验证口令生成方法包括:获取用户输入的字符串,基于字符串确定预处理数字字符串;随机生成一个小于预处理数字字符串的数字作为种子;以种子为首项,基于斐波那契数列中的元素和预处理数字字符串,通过取模运算获得的结果构建正整数序列;获取正整数序列中的循环序列,从循环序列中提取各不相同的元素构建验证口令序列;当验证口令序列满足预设条件时,将获得的验证口令序列反馈至用户。本申请还提供一种基于验证口令的账号验证方法,通过用户输入的字符串和验证口令序列完成对对应账号的验证。通过上述方法,用户后续可以通过字符串和验证口令序列登录账号,可以避免账号容易被猜测到或者太难记的问题。
Description
技术领域
本申请涉及计算机技术领域,特别是涉及一种账号的验证口令生成方法、装置、计算机设备和存储介质,以及一种基于验证口令的账号验证方法、装置、计算机设备和存储介质。
背景技术
当今时代,大多数软件在使用之前需要用户进行注册和登录操作,对于注册时的软件账号生成和登录时的身份验证的方法流程,通常都由软件开发商设定。
当前的用户账号生成技术大多与用户数量规模相关,或与用户自定义字符串为基础进行变形或修改,这样生成的用户账号若过于简单则容易导致用户账号很容易被猜测到,若生成的用户账号过于复杂则容易出现用户记住账号很困难。
发明内容
基于此,有必要针对上述技术问题,提供一种账号的验证口令生成方法、基于验证口令的账号验证方法。
一种账号的验证口令生成方法,所述方法包括:
获取用户输入的字符串,基于所述字符串确定预处理数字字符串;
随机生成一个小于所述预处理数字字符串的数字作为种子;
以所述种子为首项,基于斐波那契数列中的元素和所述预处理数字字符串,通过取模运算,根据获得的结果构建正整数序列;
获取所述正整数序列中的循环序列,从所述循环序列中提取各不相同的元素构建验证口令序列;
当所述验证口令序列满足预设条件时,将获得的验证口令序列反馈至所述用户。
一种基于验证口令的账号验证方法,所述方法包括:
获取用户输入的字符串和所述字符串对应的验证口令序列,并获取所述字符串对应的预处理数字字符串;
选取所述验证口令序列中的一个元素作为当前待验证数,以所述当前待验证数为首项,基于斐波那契数列中的元素和所述预处理数字字符串,通过取模运算,根据获得的结果构建正整数序列;
当以所述当前待验证数为首项构建的正整数序列为循环序列时,所述当前待验证数通过验证,返回所述选取所述验证口令序列中的一个元素作为当前待验证数的步骤,当所述验证口令中所有元素均通过验证时,确定所述字符串对应的账号通过验证。
一种账号的验证口令生成装置,所述装置包括:
获取模块,用于获取用户输入的字符串,基于所述字符串确定预处理数字字符串;
种子生成模块,用于随机生成一个小于所述预处理数字字符串的数字作为种子;
正整数序列构建模块,用于以所述种子为首项,基于斐波那契数列中的元素和所述预处理数字字符串,通过取模运算,根据获得的结果构建正整数序列;
验证口令序列确定模块,用于获取所述正整数序列中的循环序列,从所述循环序列中提取各不相同的元素构建验证口令序列;
验证口令序列反馈模块,用于当所述验证口令序列满足预设条件时,将获得的验证口令序列反馈至所述用户。
一种基于验证口令的账号验证装置,所述装置包括:
获取模块,用于获取用户输入的字符串和所述字符串对应的验证口令序列,并获取所述字符串对应的预处理数字字符串;
当前待验证数确定模块,用于选取验证口令序列中的一个元素作为当前待验证数;
正整数序列构建模块,用于以所述当前待验证数为首项,基于斐波那契数列中的元素和所述预处理数字字符串,通过取模运算,根据获得的结果构建正整数序列;
正整数序列验证模块,用于当以所述当前待验证数为首项构建的正整数序列为循环序列时,所述当前待验证数通过验证,返回所述选取所述验证口令序列中的一个元素作为当前待验证数的步骤;
账号验证模块,用于当所述验证口令中所有元素均通过验证时,确定所述字符串对应的账号通过验证。
一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现上述方法的步骤。
一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述方法的步骤。
上述账号的验证口令生成方法,在账号注册时,基于用户输入的字符串获得预处理数字字符串,从小于预处理数字字符串的数字中随机取一个数字作为首项,基于斐波那契数列中的元素和所述预处理数字字符串,通过取模运算,根据获得的结果构建正整数序列,由于斐波那契数列中元素的性质,获得的正整数序列中将会包含循环序列,将该循环序列提取出来,取该循环序列中不相同的元素构建验证口令序列,并且在验证口令序列不满足预设条件时,返回从预处理数字字符串中随机选取数字作为首项重新构建正整数序列,直至验证口令序列满足预设条件时,将获得的验证口令序列反馈给用户。通过上述方法,在账号注册时,根据用户输入的字符串,利用斐波那契数列生成与用户输入字符串对应的验证口令序列,将验证口令序列反馈给用户,对于用户而言,后续可以通过字符串和该验证口令序列进行账号的登录,由此可以避免账号容易被猜测到或者太难记的问题。
上述基于验证口令的账号验证方法,在获取到用户输入的字符串和验证口令序列时,从存储预处理数字字符串的预设数据库中获取与用户输入字符串对应的预处理数字字符串,分别以验证口令序列中的元素作为首项,基于该首项、斐波那契数列以及预处理数字字符串进行取模运算,根据获得的结果构建正整数序列,通过验证该正整数序列是否为循环序列来确定验证口令序列中的元素是否通过验证,当所有验证口令序列中的元素均通过验证时,表示用户输入的字符串对应的账号通过验证。由于验证口令序列在注册时利用了斐波那契数列生成,具备一定的特性,因此在进行账号验证时,分别对用户输入的验证口令序列中的元素进行验证,若通过验证则表明用户输入的字符串和验证口令序列是合法的,即账号通过验证;该方法可以在保证安全性的前提下无需过于复杂难记的账号,避免账号难记的问题。
附图说明
图1为一个实施例中账号的验证口令生成方法的应用环境图;
图2为一个实施例中账号的验证口令生成方法的流程示意图;
图3为一个实施例中基于验证口令的账号验证方法的流程示意图;
图4为一个具体实施例中账号的验证口令生成方法中对于用户输入的字符串进行预处理的流程示意图;
图5为一个具体实施例中验证口令的生成的流程示意图;
图6为一个具体实施例中账号验证的方法的流程示意图;
图7为一个实施例中账号的验证口令生成装置的结构框图;
图8为一个实施例中账号验证装置的结构框图;
图9为一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本申请提供的账号的验证口令生成方法,可以应用于如图1所示的应用环境中。其中,终端110通过网络与服务器120进行通信。在账号注册时,服务器120基于获取到的用户输入的字符串确定预处理数字字符串,从小于预处理数字字符串的数字中随机取一个数字作为首项,基于斐波那契数列中的元素和所述预处理数字字符串,通过取模运算,根据获得的结果构建正整数序列,由于斐波那契数列中元素的性质,获得的正整数序列中将会包含循环序列,将该循环序列提取出来,取该循环序列中不相同的元素构建验证口令序列,并且在验证口令序列不满足预设条件时,返回从预处理数字字符串中随机选取数字作为首项重新构建正整数序列,直至验证口令序列满足预设条件时,将获得的验证口令序列反馈给用户。在一些实施例中,用户通过终端110输入字符串,而服务器120在生成验证口令序列之后,将验证口令序列反馈给终端110。
其中,终端110可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑和便携式可穿戴设备,服务器120可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
在一个实施例中,如图2所示,提供了一种账号的验证口令生成方法,以该方法应用于图1中的服务器为例进行说明,包括至步骤S250。
步骤S210,获取用户输入的字符串,基于字符串确定预处理数字字符串。
其中,用户输入的字符串可以是任意一种类型的字符串,用户期望以该字符串作为基础注册账号;例如用户输入的字符串可以是注册账号时的常用到的手机号码、邮箱账号等等。
在一个实施例中,预处理数字字符串需满足唯一的条件,即针对所有注册的用户账号对应的预处理数字字符串,每个用户输入字符串对应的预处理数字字符串均是唯一的。
在一个实施例中,在获取到用户输入的字符串之后,首先判断用户输入的字符串的类型,如果该字符串为整型字符串时,则可以直接将该字符串作为预处理数字字符串,即:当字符串为整型字符串时,将字符串作为预处理数字字符串;在另一个实施例中,如果判断用户输入的字符串中包含非整型字符串时,则对该字符串进行一定的预处理,获得一个对应的预处理数字字符串,即:当字符串包含非整型字符串时,将字符串转换为整型字符串,根据整型字符串确定预处理数字字符串。其中,整型字符串表示没有小数部分的字符串。
其中,将字符串转换为整型字符串作为预处理数字字符串可以通过任意一种方式实现。例如在一个具体实施例中,当字符串中包含非整型字符串时,对字符串进行预设消息摘要算法的处理,获得对应的二进制数列,根据二进制数列确定预处理数字字符串;或者,在获得对应的二进制数列的基础上,再将对应的二进制数列转换成为十进制数列,再根据获得的十进制数列确定预处理数字字符串。其中,预设消息摘要算法可以是SHA1摘要算法、MD5算法等。更能进一步地,根据二进制数列或者十进制数列确定预设字符串,可以是从数列中截取满足阈值条件的数字作为预处理数字字符串;在一个实施例中,将确定的预处理数字字符串存入预设数据库中;其中,阈值条件可以包括截取的数字中有效数字的数目大于预设数目阈值,且与预设数据库中已有的预处理数字字符串不相同。
由于预处理数字字符串需唯一,因此在一个实施例中,基于字符串确定预处理数字字符串之后,如果预处理数字字符串在预设数据库已经存在,则需要重新确定预处理数字字符串,在直接将用户输入的字符串确定为预处理数字字符串的实施例中,如果用户输入的字符串在预设数据库中已经存在,可以生成提示信息,用于提示用户该字符串已被注册;在根据用户输入的字符串确定预处理数字字符串的实施例中,在执行一次预设消息摘要算法无法获得唯一的预设字符串,还可以在采用另一中消息摘要方法对用户输入的字符串转换为对应的二进制数列,还可以将新的二进制数列转换为新的十进制数列,由新生成的二进制数列或者十进制数列确定预处理数字字符串。可以理解地,在其它实施例中,将包含非整型的字符串转换为整型字符串还可以通过其它方式实现。
步骤S220,随机生成一个小于预处理数字字符串的数字作为种子。
其中,随机生成小于预处理数字字符串的数字是指随机生成数值小于预处理数字字符串的数字作为种子;在一个实施例中,随机生成的数字为正整数。
步骤S230,以种子为首项,基于斐波那契数列中的元素和预处理数字字符串,通过取模运算,根据获得的结果构建正整数序列。
序列是被排成一列的对象(或事件),序列中包括多个元素,每个元素不是在其他元素之前,就是在其他元素之后。本实施例中构建的正整数序列中包括多个正整数。
其中,斐波那契数列又称黄金分割数列,以兔子繁殖为例子而引入,故又称为“兔子数列”,指的是这样一个数列:1、1、2、3、5、8、13、21、34、……在数学上,斐波那契数列以如下被以递推的方法定义:F(1)=1,F(2)=1,F(n)=F(n-1)+F(n-2)(n>=3,n∈N*),即这个数列从第三项开始,每一项都等于前两项之和。取模运算,可以用mod表示,如a mod p的结果表示a除以p的余数。
在本实施例中构建了一个正整数序列,该正整数序列中第一项为步骤S220中生成的种子,从第二项开始,该正整数序列的每一项均根据前一项生成,具体地,正整数序列的当前项根据前一项的值在斐波那契数列中取一个元素,并将该元素与预处理数字字符串进行取模运算,将取模运算获得的结果该正整数序列的当前项。
在一个实施例中,以种子为首项,基于斐波那契数列中的元素和预处理数字字符串,通过取模运算,根据获得的结果构建正整数序列包括:将种子作为正整数序列的第一个元素;确定正整数序列中第n个元素与预处理数字字符串的和值S,获取斐波那契数列中第S位元素,对获取的第S位元素和预处理数字字符串进行取模运算,获得的取模运算结果作为正整数序列的第(n+1)个元素;其中,n≥1。在一个具体实施例中,构建的正整数序列记为r[n],r[n]可以表示为r[0]=s,r[n]=F(r[n-1]+d)(mod d),n≥1。
步骤S240,获取正整数序列中的循环序列,从循环序列中提取各不相同的元素构建验证口令序列。
由于斐波那契数列的性质,步骤S230中构建的正整数序列将存在一定的规律:该正整数序列按照顺序应当在经过一个前置序列之后,在一个序列中循环,本实施例中将循环的序列记为循环序列,获取正整数序列中的循环序列;可以理解地,循环序列中包括多个数字。
从获取的循环序列中提取元素构建验证口令序列,也就是提取循环序列中的数字加入验证口令序列中,在一个实施例中,循环序列中包括多个元素,其中只要是可以符合验证口令序列的条件的数字,均可以提取出来作为加入验证口令序列。在一个具体实施例中,验证口令序列条件为构建的验证口令序列中各元素均不相同。
步骤S250,当验证口令序列满足预设条件时,将获得的验证口令序列反馈至用户。
此外,由于生成的验证口令序列需要反馈给用户用于用户的登录,因此验证口令序列不宜过于复杂,同时为了提高安全性,构建的验证口令序列也不宜过于简单,因此在本实施例中,对于验证口令序列还预先设置了一个预设条件,在一个实施例中预设条件用于规定验证口令序列中包含的元素的数目。可以理解地,当验证口令序列满足预设条件时,将当前获得的验证口令序列反馈给用户,以用于用户的登录。
进一步地,在另一个实施例中,当验证口令序列不满足预设条件时,返回随机生成一个小于预处理数字字符串的数字作为种子的步骤。本实施例中,在从循环序列中提取元素加入验证口令序列中时,如果循环序列中无法提取出足够的元素使得构建的验证口令序列满足预设条件,则返回步骤S220,重新生成一个小于预处理数字字符串的数字作为种子,以该种子构建新的正整数序列并从中获取循环序列,提取元素加入验证口令序列。
在一个实施例中,当验证口令序列中包含的元素达到第一预设数目时,判定验证口令序列满足预设条件;在另一个实施例中,当验证口令序列中包含的元素小于第一预设数目、大于或等于第二预设数目,且返回随机生成一个小于预处理数字字符串的数字作为种子的步骤的次数达到预设次数阈值时,判定验证口令序列满足预设条件。其中,第一预设数目、第二预设数目以及预设次数阈值均可以根据实际情况进行设置,第一预设数目大于第二预设数目。
在一个具体实施例中,假设第一预设数目设置为7,第二预设数目设置为3,预设次数阈值设置为M,当检测到验证口令序列中包含的元素已经达到7个时,判定验证口令序列满足预设条件;或者,当检测到验证口令序列中包含的元素小于7但是大于或等于3,而返回重新选取种子的次数已经达到M次,同样判定验证口令序列满足预设条件。
在一个实施例中,在验证口令序列满足预设条件时,将验证口令序列与用户输入的字符串对应存储至预设数据库中。
上述账号的验证口令生成方法,在注册账号时,基于用户输入的字符串获得预处理数字字符串,从小于预处理数字字符串的数字中随机取一个数字作为首项,基于斐波那契数列中的元素和所述预处理数字字符串,通过取模运算,根据获得的结果构建正整数序列,由于斐波那契数列中元素的性质,获得的正整数序列中将会包含循环序列,将该循环序列提取出来,取该循环序列中不相同的元素构建验证口令序列,并且在验证口令序列不满足预设条件时,返回从预处理数字字符串中随机选取数字作为首项重新构建正整数序列,直至验证口令序列满足预设条件时,将获得的验证口令序列反馈给用户。通过上述方法,在账号注册时,根据用户输入的字符串,利用斐波那契数列生成与用户输入字符串对应的验证口令序列,将验证口令序列反馈给用户,对于用户而言,后续可以通过字符串和该验证口令序列进行账号的登录,由此可以避免账号容易被猜测到或者太难记的问题。
在一个实施例中,本申请还提供一种基于验证口令的账号验证方法,同样以该方法应用于图1中的服务器为例进行说明,如图3所示,该方法包括步骤S310至步骤S350。
步骤S310,获取用户输入的字符串和字符串对应的验证口令序列,并获取字符串对应的预处理数字字符串。
其中,用户输入的字符串可以是任意一种类型的字符串,用户期望以该字符串作为基础注册账号;例如用户输入的字符串可以是注册账号时的常用到的手机号码、邮箱账号等等。字符串对应的验证口令序列是通过上述账号的验证口令生成方法所生成的验证口令序列,服务器在生成验证口令序列时,将其反馈给用户,用户在登录账号时,输入注册时所选择的字符串和注册时获得服务器反馈的验证口令序列。
服务器在用户注册时生成的验证口令序列,将预处理数字字符串与用户输入的字符串对应存储;在一个实施例中,从存储预处理数字字符串的预设数据库中获取字符串对应的预处理数字字符串。
在一个实施例中,在获取到用户输入的字符串之后,如果检测到该字符串已注册过,存在对应的预处理数字字符串时,可以获取到对应的预处理数字字符串;而如果在预设数据库中未查找到用户输入的字符串已注册的记录,也即未查找到与该字符串对应的预处理数字字符串时,可能是用户输入的字符串有误,或者该用户未以该字符串进行注册过账号,此时,生成提示信息反馈给用户,以提示用户检查字符串是否输入错误,或者提示用户账号未注册过。
步骤S320,选取验证口令序列中的一个元素作为当前待验证数。
步骤S330,以当前待验证数为首项,基于斐波那契数列中的元素和预处理数字字符串,通过取模运算,根据获得的结果构建正整数序列。
在一个实施例中,验证口令序列中包括多个元素,在验证过程中需对验证口令序列中的每一个元素进行验证,本实施例中,将本次验证的一个元素记为当前待验证数。
本实施例中构建正整数序列的方法与生成验证口令序列时构建正整数序列的方法类似,不同之处在于本实施例中正整数序列的第一个元素采用的是验证口令序列中的一个元素。
在一个实施例中,以当前待验证数为首项,基于斐波那契数列中的元素和预处理数字字符串,通过取模运算,根据获得的结果构建正整数序列包括:将当前待验证数作为正整数序列的第一个元素;确定正整数序列中第n个元素与预处理数字字符串的和值S,获取斐波那契数列中第S位元素,对获取的第S位元素和预处理数字字符串进行取模运算,获得的取模运算结果作为正整数序列的第(n+1)个元素;其中,n≥1。在一个具体实施例中,构建的正整数序列记为r[n],r[n]可以表示为r[0]=s,r[n]=F(r[n-1]+d)(mod d),n≥1。
在本实施例中构建了一个正整数序列,该正整数序列中第一项为步骤S410中获取用户输入的验证口令序列中的一个元素,从第二项开始,该正整数序列的每一项均根据前一项生成,具体地,该正整数序列的当前项根据前一项的值在斐波那契数列中取一个元素,并将该元素与获取的预处理数字字符串进行取模运算,将取模运算获得的结果该正整数序列的当前项。
步骤S340,当以当前待验证数为首项构建的正整数序列为循环序列时,当前待验证数通过验证,返回选取验证口令序列中的一个元素作为当前待验证数的步骤。
步骤S350,当验证口令中所有元素均通过验证时,确定字符串对应的账号通过验证。
可以理解地,对以当前待验证数为首项构建的正整数序列进行检测时,即是检测当前待验证数是否能通过验证,以当前待验证数构建的正整数序列为循环序列时,表示该当前待验证数通过验证,此时可以返回选取验证口令序列中的一个元素作为当前待验证数的步骤,将验证口令序列中的另一个元素作为当前待验证数进行正整数序列的构建和验证,直至验证口令序列中所有元素均通过验证,表示用户输入的字符串和验证口令序列所对应的账号通过验证。
在一个实施例中,选取验证口令序列中的一个元素作为当前待验证数具体为依次将验证口令序列中的元素作为当前待验证数,即第一次选取验证口令序列中的第一个元素作为当前待验证数,第一个元素验证通过之后,选取验证口令序列中的第二个元素作为当前待验证数,直至所有元素验证完成。
可以理解地,当验证口令序列中的所有元素构建的正整数序列都通过验证时,对应的账号通过验证,如果验证口令序列中只要有一个元素构建的正整数序列未通过验证时,表示对应的账号验证失败;在一个实施例中,账号验证通过时,向用户反馈验证通过的提示信息,账号验证失败时,向用户反馈验证失败的提示信息。
需要说明的是,在本实施例中的基于验证口令的账号验证方法中,只有通过上述任意一个实施例中的账号的验证口令生成方法所生成的验证口令才能通过验证,也就是说,本实施例中基于验证口令的账号验证方法需要实际上是验证用户输入的字符串和验证口令序列是否与根据上述账号的验证口令生成方法所生成的验证口令序列,若是则用户输入的字符串对应的账号通过验证。
上述基于验证口令的账号验证方法,在获取到用户输入的字符串和验证口令序列时,从存储预处理数字字符串的预设数据库中获取与用户输入字符串对应的预处理数字字符串,分别以验证口令序列中的元素作为首项,基于该首项、斐波那契数列以及预处理数字字符串进行取模运算,根据获得的结果构建正整数序列,通过验证该正整数序列是否为循环序列来确定验证口令序列中的元素是否通过验证,当所有验证口令序列中的元素均通过验证时,表示用户输入的字符串对应的账号通过验证。由于验证口令序列在注册时利用了斐波那契数列生成,具备一定的特性,因此在进行账号验证时,分别对用户输入的验证口令序列中的元素进行验证,若通过验证则表明用户输入的字符串和验证口令序列是合法的,即账号通过验证;该方法可以保证安全性的前提下无需过于复杂难记的账号,避免账号难记的问题。
上述实施例中的基于验证口令的账号验证方法,因为ID(字符串)与验证口令由用户输入,而验证口令是便于记忆的数字,相较于现有技术中通常采用的私钥验证的方式,如提供几十个助记词或者无规则私钥字符串的方式对用户更加友好,能达到方便用户记忆,且降低私钥丢失风险的效果。
在一个实施例中,可以将上述账号的验证口令生成方法、基于验证口令的账号验证方法通过DAPP(分布式应用)的形式,被应用在任一区块链系统的节点中,用于提供有效的账号注册和相应的匿名验证机制,支持跨链。对于用户而言,不需要抄记无意义的、长字段的地址名,仅需记住自定义的ID字符串和系统配套生成的验证口令序列,在任何区块链系统中即可完成验证。其中,自定义的ID具体可以是用户已经熟记的ID(如手机号码、QQ号码、邮箱等),也可以是自定义的有特殊含义的字符串,先注册的用户即可取得该字符串的唯一使用权。在另一个实施例中,上述方法也可以被应用于任何在线系统中,支持跨平台,只要通过接入统一的用户预设数据库,即可注册或验证用户ID,不与在线系统本身的功能冲突。
区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链(Blockchain),本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。区块链可以包括区块链底层平台、平台产品服务层以及应用服务层。
如图4所示,为一个具体实施例中账号的验证口令生成方法中对于用户输入的字符串进行预处理的流程示意图,包括以下步骤:
获取用户输入的字符串,本实施例中记为ID,对用户输入的ID进行格式处理,如果ID为非数字字符,则将ID转化成为数字字符,具体过程为:若ID输入数据为整型,则不做预处理;若输入数据为包含非数字的字符串,则使用SHA1摘要算法(安全散列算法1),生成160bit(比特)的二进制数数列,再将二进制数列其转换为十进制数列,默认取十进制数列的最后预设数目位,阈值条件为所取数列有包括5位及以上的有效数字且不与系统中已存在的截取数列重复,否则所选取的数列整体往前移动一位,直至满足阈值要求,若遍历后仍未达到阈值要求,则将用户输入的原始数据使用MD5算法,生成128bit的二进制数,再将二进制数列其转换为十进制数列,默认取十进制数列的最后预设数目位,阈值条件为所取数列有包括5位及以上的有效数字且不与系统中已存在的截取数列重复,否则所选取的数列整体往前移动一位,直至满足阈值要求,根据用户规模等具体情况系统可以适当调整预设数目的大小,一般最少有5位且不超过20位。预处理后获得的记为预处理数字字符串。
其中,用户输入的ID号码可以但不限于是用户手机号码、即时通讯的唯一身份号码(例如QQ号)、电子邮箱等等,经过预处理操作的ID数列具有唯一性,不可与其他数列重复。
如图5所示,为一个具体实施例中验证口令的生成过程,包括步骤:
(1)将预处理数字字符串记为d,随机生成一个种子s,其中,s为正整数且s<d;
(2)定义正整数序列r[n],其首项r[0]=s,r[n]=F(r[n-1]+d)mod d,其中F(n)表示斐波那契数列中的第n项;
(3)获取r[n]中的循环序列,将该循环序列记为t[y];
(4)随机选取t[y]中的一个数字,加入验证序列v[z],且保证该数字不与v[z]其它数字重复;
(5)当验证口令序列长度未满3(上述第二预设数目),即生成的验证口令序列中包含的元素不足3个,则返回步骤(1)重新选取种子s,继续执行步骤(2)(3)和(4),其中在步骤(3)之后,若生成的r[n]中的循环序列t[y]为本次生成验证口令序列过程中未出现过的新的循环序列则可以执行步骤(4),若t[y]为本次生成验证口令序列过程中重复的循环序列,则重新返回步骤(2)选取种子s;
(6)当验证口令序列长度达到7(上述第一预设数目),验证口令序列中包含的元素达到7个,或者,验证口令序列中包含的元素达到3个及以上且循环选取种子的次数达到循环上限预设次数阈值M,判定验证口令序列满足预设条件,验证口令序列生成完毕,将当前的验证口令序列反馈给用户。一个具体实施例中,M可以取值50到1000之间,默认取值100,可以根据用户规模和运行时间的实际情况对M进行调整。
如图6所示,为一个具体实施例中,基于上述方法生成的验证口令序列实现账号验证的方法的流程示意图,包括以下步骤:
(1)获取用户输入的字符串以及验证口令序列,将ID记为d,将验证口令序列记为v[x],其中包含z个元素;
(2)定义正整数序列r[n],首项为当前验证数v[i](i的初始值为0,v[0]表示验证口令序列v[x]中第一个元素),r[n]=F(r[n-1]+d)mod d,其中r[0]=v[0],F(n)表示斐波那契数列中的第n项;
(3)验证r[n],若从首项开始,r[n]都在一个序列中循环,则认为当前验证数通过验证,i=i+1,返回步骤(2)继续验证验证口令序列中的下一个元素;
(4)当验证口令序列中所有元素均通过验证时,表示该用户(对应的账号)身份验证通过;若其中任何一个口令无法通过验证,则驳回该用户验证。
上述方法,利用斐波那契数列的性质,采用迭代取模的方法对用户输入的字符串生成对应的验证口令序列,对于用户而言,可以采用自己已经熟知的唯一号码作为输入的字符串,由服务器生成验证口令序列;任何场景下,只要用户同时提供字符串和验证口令序列,服务器即可快速验证是否匹配,从而在匿名机制下也能快速有效地解决用户名难记、快速验证用户身份合法性的两大难题。
应该理解的是,虽然图2-6的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图2-6中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
在一个实施例中,如图7所示,提供了一种账号的验证口令生成装置,该装置包括:获取模块710,种子生成模块720,正整数序列构建模块730,验证口令序列确定模块740以及验证口令序列反馈模块750。其中:
获取模块710,用于获取用户输入的字符串,基于字符串确定预处理数字字符串;
种子生成模块720,用于随机生成一个小于预处理数字字符串的数字作为种子;
正整数序列构建模块730,用于以种子为首项,基于斐波那契数列中的元素和预处理数字字符串,通过取模运算,根据获得的结果构建正整数序列;
验证口令序列确定模块740,用于获取正整数序列中的循环序列,从循环序列中提取各不相同的元素构建验证口令序列;
验证口令序列反馈模块750,用于当验证口令序列满足预设条件时,将获得的验证口令序列反馈至用户。
上述账号的验证口令生成装置,在注册账号时,基于用户输入的字符串获得预处理数字字符串,从小于预处理数字字符串的数字中随机取一个数字作为首项,基于斐波那契数列中的元素和所述预处理数字字符串,通过取模运算,根据获得的结果构建正整数序列,由于斐波那契数列中元素的性质,获得的正整数序列中将会包含循环序列,将该循环序列提取出来,取该循环序列中不相同的元素构建验证口令序列,并且在验证口令序列不满足预设条件时,返回从预处理数字字符串中随机选取数字作为首项重新构建正整数序列,直至验证口令序列满足预设条件时,将获得的验证口令序列反馈给用户。通过上述方法,在账号注册时,根据用户输入的字符串,利用斐波那契数列生成与用户输入字符串对应的验证口令序列,将验证口令序列反馈给用户,对于用户而言,后续可以通过字符串和该验证口令序列进行账号的登录,由此可以避免账号容易被猜测到或者太难记的问题。
在另一个实施例中,本申请还提供一种基于验证口令的账号验证装置,如图8所示,该装置包括:获取模块810,当前待验证数确定模块820,正整数序列构建模块830、正整数序列验证模块840以及账号验证模块850。其中:
获取模块810,用于获取用户输入的字符串和字符串对应的验证口令序列,并获取字符串对应的预处理数字字符串;
当前待验证数确定模块820,用于选取验证口令序列中的一个元素作为当前待验证数;
正整数序列构建模块830,用于以当前待验证数为首项,基于斐波那契数列中的元素和预处理数字字符串,通过取模运算,根据获得的结果构建正整数序列;
正整数序列验证模块840,用于当以当前待验证数为首项构建的正整数序列为循环序列时,当前待验证数通过验证,返回选取验证口令序列中的一个元素作为当前待验证数的步骤;
账号验证模块850,用于当验证口令中所有元素均通过验证时,确定字符串对应的账号通过验证。
上述基于验证口令的账号验证装置,在获取到用户输入的字符串和验证口令序列时,从存储预处理数字字符串的预设数据库中获取与用户输入字符串对应的预处理数字字符串,分别以验证口令序列中的元素作为首项,基于该首项、斐波那契数列以及预处理数字字符串进行取模运算,根据获得的结果构建正整数序列,通过验证该正整数序列是否为循环序列来确定验证口令序列中的元素是否通过验证,当所有验证口令序列中的元素均通过验证时,表示用户输入的字符串对应的账号通过验证。由于验证口令序列在注册时利用了斐波那契数列生成,具备一定的特性,因此在进行账号验证时,分别对用户输入的验证口令序列中的元素进行验证,若通过验证则表明用户输入的字符串和验证口令序列是合法的,即账号通过验证;该装置可以在保证安全性的前提下无需过于复杂难记的账号,避免账号难记的问题。
关于账号的验证口令生成装置、基于验证口令的账号验证装置的具体限定可以参见上文中对于账号的验证口令生成方法、基于验证口令的账号验证方法的限定,在此不再赘述。上述账号的验证口令生成装置、基于验证口令的账号验证装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图9所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口和数据库。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储各用户输入的字符串和对应的预处理数据、生成的验证口令序列等。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种账号的验证口令生成方法、基于验证口令的账号验证方法。
本领域技术人员可以理解,图9中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现以下步骤:
获取用户输入的字符串,基于字符串确定预处理数字字符串;
随机生成一个小于预处理数字字符串的数字作为种子;
以种子为首项,基于斐波那契数列中的元素和预处理数字字符串,通过取模运算,根据获得的结果构建正整数序列;
获取正整数序列中的循环序列,从循环序列中提取各不相同的元素构建验证口令序列;
当验证口令序列满足预设条件时,将获得的验证口令序列反馈至用户。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:当验证口令序列不满足预设条件时,返回随机生成一个小于预处理数字字符串的正整数作为种子的步骤。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:以种子为首项,基于斐波那契数列中的元素和预处理数字字符串,通过取模运算,根据获得的结果构建正整数序列包括:
将种子作为正整数序列的第一个元素;
确定正整数序列中第n个元素与预处理数字字符串的和值S,获取斐波那契数列中第S位元素,对获取的第S位元素和预处理数字字符串进行取模运算,获得的取模运算结果作为正整数序列的第(n+1)个元素;其中,n≥1。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:当字符串为整型字符串时,将字符串作为预处理数字字符串。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:当字符串包含非整型字符串时,将字符串转换为整型字符串,根据整型字符串确定预处理数字字符串。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:当验证口令序列中包含的元素达到第一预设数目时,判定验证口令序列满足预设条件。
在另一个实施例中,处理器执行计算机程序时还实现以下步骤:当验证口令序列中包含的元素小于第一预设数目、大于或等于第二预设数目,且返回随机生成一个小于预处理数字字符串的数字作为种子的步骤的次数达到预设次数阈值时,判定验证口令序列满足预设条件。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:
获取用户输入的字符串和字符串对应的验证口令序列,并获取字符串对应的预处理数字字符串;
选取验证口令序列中的一个元素作为当前待验证数,以当前待验证数为首项,基于斐波那契数列中的元素和预处理数字字符串,通过取模运算,根据获得的结果构建正整数序列;
当以当前待验证数为首项构建的正整数序列为循环序列时,当前待验证数通过验证,返回选取验证口令序列中的一个元素作为当前待验证数的步骤;
当验证口令中所有元素均通过验证时,确定字符串对应的账号通过验证。
在一个实施例中,本申请还提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:
获取用户输入的字符串,基于字符串确定预处理数字字符串;
随机生成一个小于预处理数字字符串的数字作为种子;
以种子为首项,基于斐波那契数列中的元素和预处理数字字符串,通过取模运算,根据获得的结果构建正整数序列;
获取正整数序列中的循环序列,从循环序列中提取各不相同的元素构建验证口令序列;
当验证口令序列满足预设条件时,将获得的验证口令序列反馈至用户。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:当验证口令序列不满足预设条件时,返回随机生成一个小于预处理数字字符串的正整数作为种子的步骤。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
以种子为首项,基于斐波那契数列中的元素和预处理数字字符串,通过取模运算,根据获得的结果构建正整数序列包括:
将种子作为正整数序列的第一个元素;
确定正整数序列中第n个元素与预处理数字字符串的和值S,获取斐波那契数列中第S位元素,对获取的第S位元素和预处理数字字符串进行取模运算,获得的取模运算结果作为正整数序列的第(n+1)个元素;其中,n≥1。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:当字符串为整型字符串时,将字符串作为预处理数字字符串。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:当字符串包含非整型字符串时,将字符串转换为整型字符串,根据整型字符串确定预处理数字字符串。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:当验证口令序列中包含的元素达到第一预设数目时,判定验证口令序列满足预设条件。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:当验证口令序列中包含的元素小于第一预设数目、大于或等于第二预设数目,且返回随机生成一个小于预处理数字字符串的数字作为种子的步骤的次数达到预设次数阈值时,判定验证口令序列满足预设条件。
在另一个实施例中,计算机程序被处理器执行时还实现以下步骤:
获取用户输入的字符串和字符串对应的验证口令序列,并获取字符串对应的预处理数字字符串;
选取验证口令序列中的一个元素作为当前待验证数,以当前待验证数为首项,基于斐波那契数列中的元素和预处理数字字符串,通过取模运算,根据获得的结果构建正整数序列;
当以当前待验证数为首项构建的正整数序列为循环序列时,当前待验证数通过验证,返回选取验证口令序列中的一个元素作为当前待验证数的步骤;
当验证口令中所有元素均通过验证时,确定字符串对应的账号通过验证。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。
Claims (10)
1.一种账号的验证口令生成方法,所述方法包括:
获取用户输入的字符串,基于所述字符串确定预处理数字字符串;
随机生成一个小于所述预处理数字字符串的数字作为种子;
以所述种子为首项,基于斐波那契数列中的元素和所述预处理数字字符串,通过取模运算,根据获得的结果构建正整数序列;
获取所述正整数序列中的循环序列,从所述循环序列中提取各不相同的元素构建验证口令序列;
当所述验证口令序列满足预设条件时,将获得的验证口令序列反馈至所述用户。
2.根据权利要求1所述的方法,其特征在于,所述以所述种子为首项,基于斐波那契数列中的元素和所述预处理数字字符串,通过取模运算,根据获得的结果构建正整数序列包括:
将所述种子作为所述正整数序列的第一个元素;
确定所述正整数序列中第n个元素与所述预处理数字字符串的和值S,获取斐波那契数列中第S位元素;
对获取的所述第S位元素和所述预处理数字字符串进行取模运算,获得的取模运算结果作为所述正整数序列的第(n+1)个元素;其中,n≥1。
3.根据权利要求1所述的方法,其特征在于,所述方法还包括:
当所述验证口令序列中包含的元素达到第一预设数目时,判定所述验证口令序列满足预设条件;
当所述验证口令序列中包含的元素小于所述第一预设数目、大于或等于第二预设数目,且返回所述随机生成一个小于所述预处理数字字符串的数字作为种子的步骤的次数达到预设次数阈值时,判定所述验证口令序列满足预设条件。
4.根据权利要求1所述的方法,其特征在于,所述基于所述字符串确定预处理数字字符串包括:
当所述字符串为整型字符串时,将所述字符串作为所述预处理数字字符串;
当所述字符串包含非整型字符串时,将所述字符串转换为整型字符串,根据获得的整型字符串确定所述预处理数字字符串。
5.根据权利要求1至4任意一项所述的方法,其特征在于,所述方法应用于区块链系统的节点。
6.一种基于验证口令的账号验证方法,所述方法包括:
获取用户输入的字符串和所述字符串对应的验证口令序列,并获取所述字符串对应的预处理数字字符串;
选取所述验证口令序列中的一个元素作为当前待验证数,以所述当前待验证数为首项,基于斐波那契数列中的元素和所述预处理数字字符串,通过取模运算,根据获得的结果构建正整数序列;
当以所述当前待验证数为首项构建的正整数序列为循环序列时,所述当前待验证数通过验证,返回所述选取所述验证口令序列中的一个元素作为当前待验证数的步骤;
当所述验证口令中所有元素均通过验证时,确定所述字符串对应的账号通过验证。
7.一种账号的验证口令生成装置,其特征在于,所述装置包括:
获取模块,用于获取用户输入的字符串,基于所述字符串确定预处理数字字符串;
种子生成模块,用于随机生成一个小于所述预处理数字字符串的数字作为种子;
正整数序列构建模块,用于以所述种子为首项,基于斐波那契数列中的元素和所述预处理数字字符串,通过取模运算,根据获得的结果构建正整数序列;
验证口令序列确定模块,用于获取所述正整数序列中的循环序列,从所述循环序列中提取各不相同的元素构建验证口令序列;
验证口令序列反馈模块,用于当所述验证口令序列满足预设条件时,将获得的验证口令序列反馈至所述用户。
8.一种基于验证口令的账号验证装置,其特征在于,所述装置包括:
获取模块,用于获取用户输入的字符串和所述字符串对应的验证口令序列,并获取所述字符串对应的预处理数字字符串,并获取所述字符串对应的预处理数字字符串;
当前待验证数确定模块,用于选取验证口令序列中的一个元素作为当前待验证数;
正整数序列构建模块,用于以所述当前待验证数为首项,基于斐波那契数列中的元素和所述预处理数字字符串,通过取模运算,根据获得的结果构建正整数序列;
正整数序列验证模块,用于当以所述当前待验证数为首项构建的正整数序列为循环序列时,所述当前待验证数通过验证,返回所述选取所述验证口令序列中的一个元素作为当前待验证数的步骤;
账号验证模块,用于当所述验证口令中所有元素均通过验证时,确定所述字符串对应的账号通过验证。
9.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至6中任一项所述方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至6中任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911359119.7A CN111143786B (zh) | 2019-12-25 | 2019-12-25 | 账号的验证口令生成方法、基于验证口令的账号验证方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911359119.7A CN111143786B (zh) | 2019-12-25 | 2019-12-25 | 账号的验证口令生成方法、基于验证口令的账号验证方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111143786A true CN111143786A (zh) | 2020-05-12 |
CN111143786B CN111143786B (zh) | 2022-04-19 |
Family
ID=70520118
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911359119.7A Active CN111143786B (zh) | 2019-12-25 | 2019-12-25 | 账号的验证口令生成方法、基于验证口令的账号验证方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111143786B (zh) |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1916837A (zh) * | 2006-08-28 | 2007-02-21 | 华中科技大学 | 一种对输入序列进行多维动态非线性变换的系统和方法 |
CN102387016A (zh) * | 2010-08-26 | 2012-03-21 | 西门子公司 | 一种认证方法、装置及系统 |
CN102710657A (zh) * | 2012-06-19 | 2012-10-03 | 上海安简信息技术有限公司 | 一种一次性口令生成方法及系统 |
US20150131796A1 (en) * | 2012-05-18 | 2015-05-14 | Omlis Limited | Encryption key generation |
CN104954117A (zh) * | 2015-06-29 | 2015-09-30 | 宋煜 | 基于Logistic混沌映射转移轨道判决的序列密码生成系统 |
CN107294705A (zh) * | 2016-04-01 | 2017-10-24 | 中国移动通信集团辽宁有限公司 | 一种密钥生成和验证的方法、设备及系统 |
CN108009440A (zh) * | 2017-11-23 | 2018-05-08 | 重庆金融资产交易所有限责任公司 | 数据存储方法、查询方法、装置、存储介质和计算机设备 |
-
2019
- 2019-12-25 CN CN201911359119.7A patent/CN111143786B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1916837A (zh) * | 2006-08-28 | 2007-02-21 | 华中科技大学 | 一种对输入序列进行多维动态非线性变换的系统和方法 |
CN102387016A (zh) * | 2010-08-26 | 2012-03-21 | 西门子公司 | 一种认证方法、装置及系统 |
US20150131796A1 (en) * | 2012-05-18 | 2015-05-14 | Omlis Limited | Encryption key generation |
CN102710657A (zh) * | 2012-06-19 | 2012-10-03 | 上海安简信息技术有限公司 | 一种一次性口令生成方法及系统 |
CN104954117A (zh) * | 2015-06-29 | 2015-09-30 | 宋煜 | 基于Logistic混沌映射转移轨道判决的序列密码生成系统 |
CN107294705A (zh) * | 2016-04-01 | 2017-10-24 | 中国移动通信集团辽宁有限公司 | 一种密钥生成和验证的方法、设备及系统 |
CN108009440A (zh) * | 2017-11-23 | 2018-05-08 | 重庆金融资产交易所有限责任公司 | 数据存储方法、查询方法、装置、存储介质和计算机设备 |
Non-Patent Citations (2)
Title |
---|
张大伟: "基于线性同余法的伪随机数产生算法", 《辽东学院学报(自然科学版)》 * |
邹广富: "随机序列生成算法介绍及应用", 《金融科技时代》 * |
Also Published As
Publication number | Publication date |
---|---|
CN111143786B (zh) | 2022-04-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6852592B2 (ja) | ユーザ認証のための暗号プリミティブ | |
KR102182894B1 (ko) | 패스워드 기반의 인증을 수행하는 사용자 장치 및 그것의 패스워드 등록 방법 및 인증 방법 | |
US20200076592A1 (en) | Method for generating seed and device thereof | |
CN113472774B (zh) | 账号免登录方法、系统、设备及计算机可读存储介质 | |
CN110750810A (zh) | 数据脱敏方法、装置、计算机设备和存储介质 | |
CN111143399B (zh) | 数据处理方法、装置、存储介质和计算机设备 | |
CN109145651B (zh) | 一种数据处理方法及装置 | |
CN112860778A (zh) | 桌面应用程序的数据库管理方法、装置、设备和介质 | |
CN111143786B (zh) | 账号的验证口令生成方法、基于验证口令的账号验证方法 | |
CN115086040A (zh) | 登录认证方法、装置、存储介质以及电子设备 | |
CN110597822A (zh) | 区块链中的信息查找方法、装置、存储介质和计算机设备 | |
CN114238914A (zh) | 数字证书申请系统、方法、装置、计算机设备和存储介质 | |
KR101745919B1 (ko) | 패스워드 노출 없는 소프트웨어 방식의 hsm을 이용한 사용자 인증 방법 및 시스템 | |
CN114239004A (zh) | 电子签章生成方法、装置、计算机设备和存储介质 | |
US10951403B2 (en) | Updating cryptographic keys stored in non-volatile memory | |
EP3583738B1 (en) | Method and device to produce a secure hash value | |
CN113837765B (zh) | 支付校验方法、装置、设备及存储介质 | |
CN115686380B (zh) | 一种文件存储的方法、装置、计算机设备及存储介质 | |
US11609975B1 (en) | Identity verification | |
WO2018000041A1 (en) | A system for secure access to a domain database and a method thereof | |
CN115459957A (zh) | 一种用户自定义多重认证方法、系统、设备及存储介质 | |
CN111679858A (zh) | 操作指令处理方法、装置、计算机设备及存储介质 | |
CN115934823A (zh) | 数据获取方法、装置和计算机设备和存储介质 | |
CN117336720A (zh) | 一种网络连接方法及系统、电子设备 | |
CN116167072A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |