CN108629174B - 字符串校验的方法及装置 - Google Patents

字符串校验的方法及装置 Download PDF

Info

Publication number
CN108629174B
CN108629174B CN201810433358.1A CN201810433358A CN108629174B CN 108629174 B CN108629174 B CN 108629174B CN 201810433358 A CN201810433358 A CN 201810433358A CN 108629174 B CN108629174 B CN 108629174B
Authority
CN
China
Prior art keywords
character string
matching
check
user
current
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.)
Active
Application number
CN201810433358.1A
Other languages
English (en)
Other versions
CN108629174A (zh
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.)
Advanced New Technologies Co Ltd
Advantageous New Technologies Co Ltd
Original Assignee
Advanced New Technologies 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 Advanced New Technologies Co Ltd filed Critical Advanced New Technologies Co Ltd
Priority to CN201810433358.1A priority Critical patent/CN108629174B/zh
Publication of CN108629174A publication Critical patent/CN108629174A/zh
Application granted granted Critical
Publication of CN108629174B publication Critical patent/CN108629174B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/45Structures or tools for the administration of authentication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2141Access rights, e.g. capability lists, access control lists, access tables, access matrices

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Input From Keyboards Or The Like (AREA)

Abstract

本说明书实施例提供一种字符串校验的方法和装置,根据该方法,首先接收用户输入的当前字符串,将该当前字符串与校验数据集中预先存储的多个校验字符串进行匹配,其中,这多个校验字符串包括用户设置的标准字符串,以及至少一个与标准字符串相关联的容错字符串,然后根据匹配结果,确定该当前字符串是否通过校验。进一步地,可以根据校验结果,更新上述校验数据集。如此可以更有效地对字符串进行校验。

Description

字符串校验的方法及装置
技术领域
本说明书一个或多个实施例涉及计算机技术领域,尤其涉及通过计算机进行字符串校验的方法和装置。
背景技术
随着计算机和互联网技术的发展,人们生活中接触的网络平台或应用越来越多,例如电子邮箱、交友应用、购物应用、支付应用等等。用户在使用这些网络平台或应用时,后台服务器通常通过用户标识(如手机号码、用户名、username等)所关联的验证字符串(例如验证码、口令、password等)对用户身份进行验证,以免用户在这些网络平台或应用的用户账号受到侵犯,例如被他人冒用、黑客攻击等。
常规技术中,为了达到上述目的,往往需要用户输入与用户标识所关联的验证字符串完全一致的字符串。然而,这样的方式在一些情况下,例如用户输入较长(如包含20个字符)验证字符串,或者记不清准确的验证字符串时,输错或者记错一个字符,则无法通过身份认证,在用户无法确定输错或记错的是哪一个字符时,则需要重新输入和尝试,影响网络平台或应用使用的有效性和用户体验的友好度。
因此,希望能有改进的方案,通过有效的字符串校验,在保证安全性的同时,提高网络平台或应用使用的有效性和用户体验的友好度。
发明内容
本说明书一个或多个实施例描述了一种方法和装置,可以基于容错字符串进行字符串校验,提高字符串校验的有效性,从而提高网络平台或应用使用的有效性和用户体验的友好度。
根据第一方面,提供了一种字符串校验的方法,包括:
接收用户输入的当前字符串;
将所述当前字符串与校验数据集中预先存储的多个校验字符串进行匹配,其中,所述多个校验字符串包括用户设置的标准字符串,以及至少一个与标准字符串相关联的容错字符串;
根据匹配结果,确定所述当前字符串是否通过校验;以及
根据校验结果,更新所述校验数据集。
根据一种可能的设计,上述根据匹配结果,确定所述当前字符串是否通过校验包括:
在所述当前字符串与所述多个校验字符串中任一字符串的匹配度满足第一匹配条件的情况下,确定所述当前字符串通过校验;
否则,确定所述当前字符串未通过校验。
在一种可能的设计中,根据校验结果,更新所述校验数据集包括:
如果确定所述当前字符串通过校验,更新所述多个校验字符串中至少一个校验字符串的、与匹配频次相关的匹配参数。
进一步地,在一个实施例中,上述更新所述多个验证字符串中至少一个校验字符串的、与匹配频次相关的匹配参数包括:
增加与所述当前字符串的匹配度满足第一匹配条件的校验字符串的匹配参数的值。
根据一种可能的设计,根据校验结果,更新所述校验数据集包括:
如果所述当前字符串未通过校验,获取用户输入所述当前字符串过程中与键盘交互的输入状态;
响应于所述输入状态满足预设条件,将所述当前字符串作为容错字符串添加到所述校验数据集中。
在一个可能的设计中,上述输入状态包括以下中的一项或多项:
作用到键盘的压力、在键盘上的接触点位置、按键时间间隔、按键时长。
在一个实施例中,如果所述当前字符串未通过校验,获取用户输入所述当前字符串过程中与键盘交互的输入状态包括:
检测所述当前字符串与所述多个校验字符串中任一字符串的匹配度是否满足第二匹配条件;
若满足第二匹配条件,获取用户输入所述当前字符串时的所述输入状态。
进一步地,在一个可能的实施例中,上述预设条件包括:
所述输入状态与历史输入状态的匹配度超过状态匹配度阈值。
根据一种可能的设计,上述方法还包括:
将所述多个校验字符串的与匹配频次相关的匹配参数分别与预设参数阈值进行比较;
从校验数据库中删除匹配参数小于预设参数阈值的校验字符串。
根据一种实施方式,将所述当前字符串与预先存储的校验字符串进行匹配之前还包括:
获取用户设置的所述标准字符串;
根据预设规则,基于所述标准字符串生成至少一个所述容错字符串。
进一步地,在一个实施例中,所述预设规则包括以下中的一项或多项:
改变所述标准字符串中包括的至少一个英文字符的大小写状态;
将所述标准字符串包括的中文字符替换为对应的拼音字符;
将所述标准字符串中的至少一个字符替换为键盘上的相邻字符;
删除所述标准字符串中任意一个字符。
根据第二方面,提供一种字符串校验的装置,包括:
接收单元,配置为接收用户输入的当前字符串;
匹配单元,配置为将所述当前字符串与校验数据集中预先存储的多个校验字符串进行匹配,其中,所述多个校验字符串包括用户设置的标准字符串,以及至少一个与标准字符串相关联的容错字符串;
确定单元,配置为根据匹配结果,确定所述当前字符串是否通过校验;以及
更新单元,配置为根据校验结果,更新所述校验数据集。
根据第三方面,提供了一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令计算机执行第一方面的方法。
根据第四方面,提供了一种计算设备,包括存储器和处理器,其特征在于,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现第一方面的方法。
通过本说明书实施例提供的方法和装置,首先基于预先存储的包括容错字符串的多个校验字符串与用户输入的当前字符串进行匹配,然后根据匹配结果确定用户输入的当前字符串是否通过校验,如此,可以在用户输入的当前字符串与标准字符串不完全一致的情况下,可以根据用户输入的当前字符串与容错字符串的匹配确定当前字符串是否通过验证,提高字符串校验的有效性,从而提高网络平台或应用使用的有效性和用户体验的友好度。进一步地,在确定除当前字符串的验证结果后,用该验证结果来更新校验数据集,从而对校验数据集进行优化,使得校验数据集在后续的判断中,进一步提高判断准确度。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
图1示出本说明书披露的一个实施例的实施场景示意图;
图2示出根据一个实施例的字符串校验的方法流程图;
图3示出校验数据集的一个具体例子;
图4示出根据一个实施例的更新校验数据集的流程图;
图5示出根据一个实施例的用于字符串校验的装置的示意性框图。
具体实施方式
下面结合附图,对本说明书提供的方案进行描述。
图1为本说明书披露的一个实施例的实施场景示意图。如图所示,用户可以针对各种客户端应用,例如电子邮箱、交友应用、购物应用、支付应用等等,设置用户名和登录密码。这里的客户端应用可以运行在具有数据处理能力和数据输入功能的各种终端设备上,例如智能手机、平板电脑、台式计算机等等。计算平台,例如上述客户端应用的服务器,可以将用户设置的上述登录密码作为标准字符串,生成包含标准字符串和容错字符串的校验字符集。接着,在用户再次通过客户端应用登录平台的情况下,计算平台需要根据用户输入的当前字符串对用户身份进行认证的同时,对校验字符及进行检测和修正。这是基于这样的原因:计算平台初始生成的校验字符集仅仅将用户设置的登录密码作为标准字符串进行扩展,而没有考虑用户自身的操作习惯等因素。于是,计算平台可以在接收到用户输入的当前字符串后,可以从校验数据集中获取校验字符串与当前字符串进行匹配,以该匹配结果为准判断当前字符串是否通过验证。
进一步地,计算平台一方面将判断的验证结果反馈至客户端应用,另一方面,将判断的验证结果作为反馈,更新校验数据集。通过这样的过程,一边使用校验数据集对用户进行身份认证,一边根据用户输入的当前字符串作为回馈结果来修改校验数据集,从而不断提高校验数据集与用户习惯的适应性,从而不断提高校验数据集的准确度,更好地针对用户进行个性化的判断。下面描述上述场景的具体执行过程。
图2示出根据一个实施例的字符串校验的方法流程图。该方法的执行主体可以是任何具有计算、处理能力的系统、设备、装置、平台或服务器,例如图1所示的计算平台,更具体地,例如是需要对用户身份进行认证的各种后台服务器,比如支付宝服务器、钉钉服务器、购物应用服务器等。
如图2所示,该方法包括以下步骤:步骤21,接收用户输入的当前字符串;步骤22,将上述当前字符串与校验数据集中预先存储的多个校验字符串进行匹配,其中,上述多个校验字符串包括用户设置的标准字符串,以及至少一个与标准字符串相关联的容错字符串;步骤23,根据匹配结果,确定上述当前字符串是否通过校验;以及,步骤24,根据校验结果,更新上述校验数据集。
首先,在步骤21,接收用户输入的当前字符串。可以理解,字符串可以是连续输入的多个字符,这些字符可以包括但不限于以下的一项或多项:数值、英文字符(如字母a)、中文字符(如汉字中)、特殊符号(如@)等等。用户当前连续输入的、没有结束标志(例如换行符)的字符可以称为当前字符串。
在一个实施例中,用户可以通过麦克风输入字符。通过语音识别,可以将用户输入的音频信息转换成相应的字符串。
在一个实施例中,用户可以通过物理键盘输入字符。这种情况下,可以通过按键与字符映射表确定用户输入的字符。
在一个实施例中,用户可以通过触摸屏或手写屏输入字符。一般地,触摸屏可以通过虚拟键盘或触控键盘来接收用户操作,根据当前键盘状态和用户与触摸屏的接触位置确定用户输入的字符。手写屏可以根据用户通过手指或其他手写工具在屏幕上的运动轨迹,通过字符识别确定用户输入的字符。
在更多实施例中,用户还可以通过包含更多方面的输入装置确定用户输入的字符。
可以理解,相应地,在步骤21,在需要输入认证口令(password)、验证码、用户名、登录密码等情况下,可以接收用户输入的当前字符串,该当前字符串可以通过上述各方面中一个或多个输入装置获取。
接着,在步骤22,将上述当前字符串与校验数据集中预先存储的多个校验字符串进行匹配。可以理解,需要对用户输入的当前字符串进行校验的情况下,可以预先存储有校验数据集。校验数据集可以是一个集合,也可以是一个数据库等,其用于存储多个校验字符串。进一步地,可以将上述当前字符串与多个校验字符串进行匹配,以判断当前字符串与校验字符串是否相符合。
校验字符串可以包括用户设置的标准字符串。例如,用户在网络平台注册账号时,往往会设置用户名和登录密码。用户所设置的用户名和/或登录密码都可以是对用户身份进行认证的依据。相应地,用户所设置的用户名和/或登录密码就可以作为用户设置的标准字符串。一般地,用户名可以作为对用户身份进行区分的用户标识,登录密码可以作为对使用用户标识的用户进行身份认证的标准字符串。
校验字符串还可以包括至少一个与标准字符串相关联的容错字符串。可以理解,在用户正常输入字符串的过程中,可能会出现一些偏差,例如:输入法默认的首字母大写可能导致用户将小写的英文字符“s”输入为大写的英文字符“S”;忘记切换中英文输入状态,导致将中文字符“中国”输入为拼音字符“zhongguo”;对于一个包含字符数较多的字符串,漏掉一个字符;等等。如此,可以在用户输入字符时,通过容错字符串来允许这样的偏差存在。可以理解,容错字符串是根据标准字符串得到的,与标准字符串相关联。如此,可以增加对用户输入字符串偏差的包容性。
在一个实施例中,在步骤22之前,可以在获取用户设置的标准字符串后,根据预设规则,基于该标准字符串生成至少一个容错字符串。该预设规则例如可以包括但不限于以下的一项或多项:改变标准字符串中包括的至少一个英文字符的大小写状态;将标准字符串包括的中文字符替换为对应的拼音字符;将标准字符串中的至少一个字符替换为键盘上的相邻字符;删除标准字符串中任意一个字符。
作为示例,在图3中,对于标准字符串311“may1988王”,根据预设规则生成的容错字符串312可以包括“May1988王”、“may1988wang”、“msy1988wang”、“my1988王”等等。标准字符串311和容错字符串312共同包括在校验数据集31中。可选地,当用户可以通过麦克风输入字符时,由于语音识别的偏差,预设规则还可以包括将标准字符串中的至少一个字符替换为发音近似的字符等。例如上述例子中,标准字符串“may1988王”的容错字符串还可以包括“may1988汪”、“may1酒吧吧王”等等。
值得说明的是,校验数据集在用户设置标准字符串(如登录密码)时生成。在一个实施例中,一旦接收到用户设置的标准字符串,就基于该标准字符串生成容错字符串,从而构成校验数据集。在另一实施例中,可以在用户设置完标准字符串之后再次使用时,在检测到校验数据集中容错字符串个数为0的情况下,再生成容错字符串,本申请对此不作限定。如此,可以对校验字符集进行初始化,以在用户首次出现错误时就可以有容错机会。
如上所述,校验数据集中存储有包括用户设置的标准字符串以及容错字符串的多个校验字符串。相应地,在步骤22中,将当前字符串与校验数据集中的多个校验字符串一一进行匹配,确定匹配结果。然后,在步骤23,根据匹配结果,确定上述当前字符串是否通过校验。可以理解,通过步骤22的匹配过程可以得到匹配结果,该匹配结果可以用于确定当前字符串是否通过校验,亦即确定用户是否通过身份认证。该匹配结果例如可以是:完全匹配、90%匹配、不匹配等等。
在一个实施例中,在当前字符串与多个校验字符串中任一字符串的匹配度满足第一匹配条件的情况下,确定当前字符串通过校验,否则,确定当前字符串未通过校验。
其中,匹配度可以用来表示字符串的匹配程度。
在一种实施例中,匹配度通过百分数或小数表示,例如通过Jaccard相似系数方法计算,当前字符串A(如abc)与校验字符串B(如abe)的匹配度=当前字符串A与校验字符串B中的相同字符数(2)/当前字符串A与校验字符串B中相匹配的字符数(2)与不相匹配的字符数(A中的字符c和B中的字符e,共2个)之和,所得到的匹配度例如是50%或0.5。如此,可以针对不同的标准字符串使匹配度具有统一的格式。
在另一种实施例中,匹配度通过比值形式表示,例如匹配度通过当前字符串A与校验字符串B的匹配度=当前字符串A与校验字符串B的相同字符位数/标准字符串C的字符位数,所得到的匹配度例如是7/8等等。如此,对当前字符串与校验字符串出现的偏差有一个直观的反映。
在又一种实施例中,匹配度还可以通过当前字符串与校验字符串不匹配的字符位数标识,该位数越小,匹配度越高。如此,不论校验字符串长短,根据有偏差字符的数量统一衡量标准。
在再一种实施例中,匹配度还可以根据匹配程度划分等级,例如对于10个字符支撑的校验字符串,当前字符串有10个字符与其匹配时匹配度级别为1,有9个字符与其匹配时匹配度级别为2等等。
为了清楚和区分起见,将用于限定匹配结果中当前字符串是否通过校验的条件称为第一匹配条件。可以理解,不同的匹配度计算方法,第一匹配条件通过不同的形式表示,例如匹配度为100%、匹配度为1、不匹配的字符位数不超过1等等。当匹配度为100%时,当前字符串与任意一个校验字符串完全匹配。一般地,只要当前字符串与校验数据集中的某一校验字符串的匹配度满足第一匹配条件,就可以停止与校验数据集中剩余的其他校验字符串的比对和匹配,例如,在第一匹配条件为匹配度大于90%的情况下,当前字符串和校验字符串中的任一字符串的匹配度大于90%,可以停止匹配,根据该匹配结果确定当前字符串通过校验。
根据一种实施方式,由于已经设置了容错字符串来允许用户的输入偏差,此处的第一匹配条件可以被设置为较为严格的匹配条件,例如100%匹配。
接着,在步骤24,根据步骤23中的校验结果,更新上述校验数据集。可以理解,初始地,校验数据集可以由开发人员根据实践经验而设置;随着实施例的方法的推进,会不断进行更新和调整。例如,将用户不会出错的容错字符串删除,将用户可能出错的其他字符串增加为容错字符串等,以更加符合用户个人习惯。
在一个实施例中,如果确定当前字符串通过校验,执行步骤241,更新多个校验字符串中至少一个校验字符串的、与匹配频次相关的匹配参数。可以理解,为了调整校验字符串,可以对每个校验字符串设置一个与匹配频次相关的匹配参数,当在校验字符串中匹配到当前字符串的情况下,更新该匹配参数。由于匹配结果决定校验结果,因此,该匹配参数与本实施例方法执行过程中的校验结果直接相关。其中,这里的匹配频次可以是匹配频率,也可以是匹配次数。匹配频率可以通过匹配到的次数与总匹配次数的比值表示。该匹配参数可以是匹配频率或匹配次数本身,也可以是与匹配频率或匹配次数正相关的参数。
进一步地,在一些可能的实施例中,更新多个校验字符串中至少一个校验字符串的、与匹配频次相关的匹配参数包括:增加与上述当前字符串的匹配度满足第一匹配条件的校验字符串的匹配参数的值。例如,在本实施例方法的一次执行过程中,在匹配参数是匹配次数的情况下,将匹配到的校验字符串的匹配参数增加1。
在另一实施例中,匹配参数例如是匹配频率或匹配比例。相应地,更新校验字符串的匹配参数可以包括,重新计算各个校验字符串的匹配比例。在一个具体例子中,假定校验数据集中包含5条校验字符串,S1-S5,经过之前的9次匹配过程,匹配比例分别为S1:0/9,S2:2/9,S3:1/9,S4:5/9,S5:1/9。在执行本次匹配过程时,当前字符串与S2相匹配(即匹配度满足第一匹配条件),那么相应地,需要将各个校验字符串的匹配比例更新为:S1:0/10,S2:3/10,S3:1/10,S4:5/10,S5:1/10。这其中,对于匹配到的字符串S2,匹配参数的分子分母均进行递增,对于其他字符串,仅将其匹配参数的分母进行递增,从而更新各个校验字符串的匹配比例。
另一方面,如果当前字符串未通过校验,在用户通过键盘输入当前字符串的情况下,进一步执行步骤242,获取用户输入当前字符串过程中与键盘交互的输入状态。该输入状态包括用户通过键盘输入字符串时,与用户的个人操作习惯有关的、能够反映用户个人的生物习惯特征的状态信息。一般地,每个用户在操作键盘时都有自己的习惯特点,例如,有的人喜欢用力敲击键盘按键,有的人喜欢轻轻按压键盘按键,有的人在键盘上切换按键的速度很快(按键时间间隔较短),有的人输入一个字符在按键上停留的时间较长,等等。在步骤242,旨在捕获这样的信息作为输入状态,以此个性化每个用户的使用习惯。在用户通过物理键盘输入字符串的情况下,输入状态可以通过键盘按键处的压力传感器检测到,在用户通过触摸屏或手写屏等输入字符串的情况下,输入状态可以通过触摸屏或手写屏上电容或电阻的变化检测到,或者也可以通过调用终端设备中的压力传感器进行采集。
在一个实施例中,上述输入状态包括作用到键盘的压力信息。这可以通过物理键盘或终端内置的压力传感器获取。更具体地,捕获的与压力有关的信息可以包括,输入当前字符串中各个字符时,分别作用到键盘的压力,各个字符对应的压力分布,压力均值等等。
在一个实施例中,上述输入状态可以包括在键盘上的接触点位置信息。在键盘上的接触点位置信息可以包括,用户输入字符时作用在字符对应的键区中的位置。这特别适用于触摸屏键盘的设置。例如,在触摸屏九宫格键盘设置中,每个键区面积相对较大,用户输入字符时在键区中的触摸点位置可以反映用户输入习惯。更具体地,捕获的接触点位置信息可以包括,接触点坐标、接触点偏离对应键区中心点的距离,输入各个字符时的距离分布,等等。
在一个实施例中,上述输入状态可以包括按键时间间隔。按键时间间隔是用户连续输入两个字符时的时间间隔(如0.2秒)。更具体地,捕获的按键时间间隔可以包括,用户输入当前字符串中的相邻字符的各个时间间隔,各个时间间隔的分布,平均时间间隔,等等。
在一个实施例中,上述输入状态可以包括按键时长。按键时长是用户在输入一个字符时在键盘上停留的时间(如0.1秒)。更具体地,捕获的按键时长可以包括,用户输入当前字符串中的各个字符时的各个按键时长,各个时长的分布,平均按键时长,输入当前字符串的总时长,等等。
输入状态还可以包括更多的与用户操作键盘的个人习惯有关的参数和信息。
在捕获到用户输入当前字符串时的输入状态信息的基础上,判断该输入状态是否满足预设条件。相应地,在步骤243,响应于输入状态满足预设条件,将当前字符串记录为容错字符串。如前所述,每个用户在操作键盘时都有自己的习惯特点,通过设定预设条件,可以判断输入当前字符串的用户和输入历史通过验证了的字符串的用户是否为同一个人。
进一步地,在一个实施例中,上述预设条件包括:输入状态与历史输入状态的匹配度超过状态匹配度阈值。这里,输入状态与历史输入状态的匹配度可以通过概率计算得到,也可以通过机器学习、历史曲线描述等方法得到。例如,可以根据历史输入状态计算上述输入状态中每个参数的权重,对各个参数与其权重的乘积求和得到上述输入状态与历史输入状态的匹配度。
如此,在上述输入状态与历史输入状态的匹配度超过状态匹配度阈值的情况下,判断输入当前字符串的用户和输入历史通过验证的用户为同一用户,进一步确定用户可能将标准字符串输错成当前字符串,则将当前字符串记录为容错字符串,以供该用户在以后的操作中再出现同样的错误的情况下能通过验证。
步骤242和步骤243在当前字符串未通过校验,且用户是通过键盘输入当前字符串的情况下,对用户输入当前字符串过程中与键盘交互的输入状态进行了判断。可以理解,在用户随意通过键盘输入了一个字符串的情况下,该字符串未通过校验,在步骤243根据用户的输入状态判断当前用户和历史通过验证的用户是同一个用户,则下次用户通过该随意输入的字符串就可以通过验证,那么标准字符串的意义就会减弱,安全性有所降低。
因此,在步骤242中,还可以对用户输入的当前字符串进行限定。在一个实施例中,检测当前字符串与多个校验字符串中任一字符串的匹配度是否满足第二匹配条件;若满足第二匹配条件,获取用户输入当前字符串时的输入状态,进而执行步骤243对该输入状态进行判断。与第一匹配条件类似地,第二匹配条件可以通过多种形式表示,例如匹配度大于60%、错误字符数不大于2等等。这里,由于该第二匹配条件是在当前字符串与校验字符集中的任意校验字符串的匹配均不通过验证,即不满足第一匹配条件的基础上进行的,第二匹配条件中默认包含有不满足第一匹配条件,例如第二匹配条件为匹配度大于60%自动扩展为大于60%并小于95%等。
如前所述,校验数据集中的数据在字符串校验的方法执行过程中是不断更新的,例如更新校验字符串的匹配参数、增加新的校验字符串等等。对于校验数据集来说,如果数据一直增加,那么对于容错字符串中一些用户不常用到的错误字符串,不仅占用存储空间,还会增加步骤22中字符串匹配的计算量。
由此,在一些可能的设计中,请参考图4,字符串校验的方法还可以包括以下对校验字符集进行过滤步骤:步骤41,将多个校验字符串的与匹配频次相关的匹配参数分别与预设参数阈值进行比较;步骤42,从校验数据库中删除匹配参数小于预设参数阈值的校验字符串。其中,预设参数阈值可以由相关人员根据经验设定,例如匹配参数是匹配次数时,预设参数阈值为1,等等。
如此,可以从校验字符集中剔除用户不常用到的校验字符串,清理存储空间,减小步骤22中字符串匹配的计算量,同时也使校验字符集更符合用户的个人习惯。
值得说明的是,图4示出的步骤可以在图2示出的字符串校验的方法的每个执行流程中执行,例如,在每个流程步骤24之后,继续执行步骤41、步骤42,也可以独立于步骤21-步骤24执行,例如,对每个校验数据集,按照预设时间间隔或者在预定时间点执行步骤41、步骤42。
在另一些可能的设计中,还可以根据与匹配频次相关的匹配参数对校验字符串进行排序。例如,在匹配参数与匹配频次正相关的情况下,匹配参数的值越大,匹配到相应校验字符串的概率越大,可以按照匹配参数的值从大到小的顺序对校验字符串排序。如此,匹配到靠前的校验字符串的概率增大,由于匹配到任一校验字符串时即可以停止匹配过程,可以节约计算量,缩短匹配时间。
回顾以上过程,首先基于预先存储的包括容错字符串的多个校验字符串与用户输入的当前字符串进行匹配,然后根据匹配结果确定用户输入的当前字符串是否通过校验,如此,可以在用户输入的当前字符串与标准字符串不完全一致的情况下,可以根据用户输入的当前字符串与容错字符串的匹配确定当前字符串是否通过验证,提高字符串校验的有效性,从而提高网络平台或应用使用的有效性和用户体验的友好度。进一步地,在确定除当前字符串的验证结果后,用该验证结果来更新校验数据集,从而对校验数据集进行优化,使得校验数据集在后续的判断中,进一步提高判断准确度。
根据另一方面的实施例,还提供一种字符串校验的装置。图5示出根据一个实施例的用于字符串校验的装置的示意性框图。如图5所示,用于字符串校验的装置500包括:接收单元51,配置为接收用户输入的当前字符串;匹配单元52,配置为将所述当前字符串与校验数据集中预先存储的多个校验字符串进行匹配,其中,所述多个校验字符串包括用户设置的标准字符串,以及至少一个与标准字符串相关联的容错字符串;确定单元53,配置为根据匹配结果,确定所述当前字符串是否通过校验;以及更新单元54,配置为根据校验结果,更新所述校验数据集。
在一个实施例中,匹配单元52可以检测当前字符串与上述多个校验字符串中任一字符串的匹配度是否满足第一匹配条件,根据检测结果,确定单元53进一步配置为:在当前字符串与上述多个校验字符串中任一字符串的匹配度满足第一匹配条件的情况下,确定当前字符串通过校验;否则,确定当前字符串未通过校验。一般地,只要第一匹配条件满足,就可以停止匹配单元52对其他字符串的匹配操作。这里,第一匹配条件与匹配度相关,并根据匹配度的不同形式通过不同方式表示,例如匹配度大于90%、匹配度为1、不匹配的字符位数不超过1等等。
根据一种实施方式,在确定当前字符串通过校验的情况下,更新单元54配置为:更新上述多个校验字符串中至少一个校验字符串的、与匹配频次相关的匹配参数。匹配频次例如是匹配频率、匹配次数等。该匹配参数可以是匹配频率或匹配次数本身,也可以是与匹配频率或匹配次数正相关的参数。例如是。进一步地,在一个实施例中,更新单元54更新多个验证字符串中至少一个校验字符串的、与匹配频次相关的匹配参数包括:增加与当前字符串的匹配度满足第一匹配条件的校验字符串的匹配参数的值。例如,将校验字符串的匹配次数加1。
根据另一实施方式,在当前字符串未通过校验的情况下,更新单元54还配置为:获取用户输入当前字符串过程中与键盘交互的输入状态;响应于该输入状态满足预设条件,将当前字符串作为容错字符串添加到校验数据集中。如此,可以根据输入状态确定输入当前字符串的用户和历史通过验证的用户是同一用户,从而在用户下次输入该当前字符串的情况下,使用户通过验证。在一个实施例中,上述输入状态包括以下中的一项或多项:作用到键盘的压力、在键盘上的接触点位置、按键时间间隔、按键时长。在一个可能的实施例中,上述预设条件包括:上述输入状态与历史输入状态的匹配度超过状态匹配度阈值。
进一步地,在一些可能的设计中,更新单元54还包括:检测模块(未示出),配置为检测当前字符串与上述多个校验字符串中任一字符串的匹配度是否满足第二匹配条件;获取模块(未示出),配置为若满足第二匹配条件,获取用户输入当前字符串时的输入状态。该第二匹配条件例如可以是匹配度大于60%、错误字符数不大于2等等。
对于校验数据集来说,如果数据一直增加,那么对于容错字符串中一些用户不常用到的错误字符串,不仅占用存储空间,还会增加匹配单元52的字符串匹配计算量。如此,根据一种实施方式,装置500还包括:比较单元(未示出),配置为将所述多个校验字符串的与匹配频次相关的匹配参数分别与预设参数阈值进行比较;删除单元(未示出),配置为从校验数据库中删除匹配参数小于预设参数阈值的校验字符串。
该比较单元和删除单元可以在更新单元54之后,在更新单元54每次更新完校验数据集后对校验数据集执行本方面的过滤操作。该比较单元和删除单元也可以作为与接收单元51、匹配单元52、确定单元53、更新单元54,作为并列的结构,对校验数据集按照预设时间间隔或者在预定时间点执行本方面的过滤操作。如此,通过比较单元和删除单元的过滤操作,可以从校验字符集中剔除用户不常用到的校验字符串,清理存储空间,减小匹配单元52字符串匹配的计算量,同时也使校验字符集更符合用户的个人习惯。
根据一种可能的设计,匹配单元52之前还包括生成单元(未示出),配置为:获取用户设置的所述标准字符串;根据预设规则,基于标准字符串生成至少一个所述容错字符串。进一步地,在一个实施例中,上述预设规则包括以下中的一项或多项:改变标准字符串中包括的至少一个英文字符的大小写状态;将标准字符串包括的中文字符替换为对应的拼音字符;将标准字符串中的至少一个字符替换为键盘上的相邻字符;删除标准字符串中任意一个字符。生成单元可以在用户设置标准字符串(如登录密码)时生成校验数据集。校验数据集生成时,可以同时生成校验字符串,也可以在用户设置完标准字符串再次使用时,在检测到校验数据集中校验字符串个数为0的情况下,再生成校验字符串,本申请对此不作限定。
通过以上装置,可以将用户输入的当前字符串,与多个校验字符串匹配,极大提高字符串校验的有效性。并且,还可以用当前字符串的校验结果,来更新校验数据集,使得校验数据集在后续的判断中,进一步地提高判断准确度。
根据另一方面的实施例,还提供一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令计算机执行结合图2所描述的方法。
根据再一方面的实施例,还提供一种计算设备,包括存储器和处理器,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现结合图2所述的方法。
本领域技术人员应该可以意识到,在上述一个或多个示例中,本发明所描述的功能可以用硬件、软件、固件或它们的任意组合来实现。当使用软件实现时,可以将这些功能存储在计算机可读介质中或者作为计算机可读介质上的一个或多个指令或代码进行传输。
以上所述的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的技术方案的基础之上,所做的任何修改、等同替换、改进等,均应包括在本发明的保护范围之内。

Claims (24)

1.一种字符串校验的方法,包括:
接收用户输入的当前字符串;
将所述当前字符串与校验数据集中预先存储的多个校验字符串进行匹配,其中,所述多个校验字符串包括用户设置的标准字符串,以及至少一个与标准字符串相关联的容错字符串,所述标准字符串是用来对用户身份进行认证的字符串,所述容错字符串基于字符串校验过程中满足预设条件的输入状态下输入的字符串确定,所述输入状态用于描述用户输入相应字符串过程中与键盘的交互状态;
根据匹配结果,确定所述当前字符串是否通过校验;以及
根据校验结果,更新所述校验数据集。
2.根据权利要求1所述的方法,其中根据匹配结果,确定所述当前字符串是否通过校验包括:
在所述当前字符串与所述多个校验字符串中任一字符串的匹配度满足第一匹配条件的情况下,确定所述当前字符串通过校验;
否则,确定所述当前字符串未通过校验。
3.根据权利要求2所述的方法,其中根据校验结果,更新所述校验数据集包括:
在确定所述当前字符串通过校验的情况下,更新所述多个校验字符串中至少一个校验字符串的、与匹配频次相关的匹配参数。
4.根据权利要求3所述的方法,其中更新所述多个验证字符串中至少一个校验字符串的、与匹配频次相关的匹配参数包括:
增加与所述当前字符串的匹配度满足所述第一匹配条件的校验字符串的匹配参数的值。
5.根据权利要求2所述的方法,其中根据校验结果,更新所述校验数据集包括:
在所述当前字符串未通过校验的情况下,获取用户输入所述当前字符串过程中与键盘交互的输入状态;
响应于所述输入状态满足预设条件,将所述当前字符串作为容错字符串添加到所述校验数据集中。
6.根据权利要求5所述的方法,其中所述输入状态包括以下中的一项或多项:
作用到键盘的压力、在键盘上的接触点位置、按键时间间隔、按键时长。
7.根据权利要求5所述的方法,其中在所述当前字符串未通过校验的情况下,获取用户输入所述当前字符串过程中与键盘交互的输入状态包括:
检测所述当前字符串与所述多个校验字符串中任一字符串的匹配度是否满足第二匹配条件;
若满足第二匹配条件,获取用户输入所述当前字符串时的所述输入状态。
8.根据权利要求5所述的方法,其中所述预设条件包括:
所述输入状态与历史输入状态的匹配度超过状态匹配度阈值。
9.根据权利要求1-8中任一所述的方法,还包括:
将所述多个校验字符串的、与匹配频次相关的匹配参数分别与预设参数阈值进行比较;
从校验数据库中删除匹配参数小于预设参数阈值的校验字符串。
10.根据权利要求1所述的方法,其中将所述当前字符串与预先存储的校验字符串进行匹配之前还包括:
获取用户设置的所述标准字符串;
根据预设规则,基于所述标准字符串生成至少一个所述容错字符串。
11.根据权利要求10所述的方法,其中所述预设规则包括以下中的一项或多项:
改变所述标准字符串中包括的至少一个英文字符的大小写状态;
将所述标准字符串包括的中文字符替换为对应的拼音字符;
将所述标准字符串中的至少一个字符替换为键盘上的相邻字符;
删除所述标准字符串中任意一个字符。
12.一种字符串校验的装置,包括:
接收单元,配置为接收用户输入的当前字符串;
匹配单元,配置为将所述当前字符串与校验数据集中预先存储的多个校验字符串进行匹配,其中,所述多个校验字符串包括用户设置的标准字符串,以及至少一个与标准字符串相关联的容错字符串,所述标准字符串是用来对用户身份进行认证的字符串,所述容错字符串基于字符串校验过程中满足预设条件的输入状态下输入的字符串确定,所述输入状态用于描述用户输入相应字符串过程中与键盘的交互状态;
确定单元,配置为根据匹配结果,确定所述当前字符串是否通过校验;以及
更新单元,配置为根据校验结果,更新所述校验数据集。
13.根据权利要求12所述的装置,其中所述确定单元配置为:
在所述当前字符串与所述多个校验字符串中任一字符串的匹配度满足第一匹配条件的情况下,确定所述当前字符串通过校验;
否则,确定所述当前字符串未通过校验。
14.根据权利要求13所述的装置,其中所述更新单元配置为:
在确定所述当前字符串通过校验的情况下,更新所述多个校验字符串中至少一个校验字符串的、与匹配频次相关的匹配参数。
15.根据权利要求14所述的装置,其中所述更新单元更新所述多个验证字符串中至少一个校验字符串的、与匹配频次相关的匹配参数包括:
增加与所述当前字符串的匹配度满足第一匹配条件的校验字符串的匹配参数的值。
16.根据权利要求13所述的装置,其中所述更新单元还配置为:
在所述当前字符串未通过校验的情况下,获取用户输入所述当前字符串过程中与键盘交互的输入状态;
响应于所述输入状态满足预设条件,将所述当前字符串作为容错字符串添加到所述校验数据集中。
17.根据权利要求16所述的装置,其中所述输入状态包括以下中的一项或多项:
作用到键盘的压力、在键盘上的接触点位置、按键时间间隔、按键时长。
18.根据权利要求16所述的装置,其中所述更新单元还包括:
检测模块,配置为检测所述当前字符串与所述多个校验字符串中任一字符串的匹配度是否满足第二匹配条件;
获取模块,配置为若满足第二匹配条件,获取用户输入所述当前字符串时的所述输入状态。
19.根据权利要求16所述的装置,其中所述预设条件包括:
所述输入状态与历史输入状态的匹配度超过状态匹配度阈值。
20.根据权利要求12-19中任一所述的装置,还包括:
比较单元,配置为将所述多个校验字符串的与匹配频次相关的匹配参数分别与预设参数阈值进行比较;
删除单元,配置为从校验数据库中删除匹配参数小于预设参数阈值的校验字符串。
21.根据权利要求12所述的装置,其中匹配单元之前还包括生成单元,配置为:
获取用户设置的所述标准字符串;
根据预设规则,基于所述标准字符串生成至少一个所述容错字符串。
22.根据权利要求21所述的装置,其中所述预设规则包括以下中的一项或多项:
改变所述标准字符串中包括的至少一个英文字符的大小写状态;
将所述标准字符串包括的中文字符替换为对应的拼音字符;
将所述标准字符串中的至少一个字符替换为键盘上的相邻字符;
删除所述标准字符串中任意一个字符。
23.一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令计算机执行权利要求1-11中任一项的所述的方法。
24.一种计算设备,包括存储器和处理器,其特征在于,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现权利要求1-11中任一项所述的方法。
CN201810433358.1A 2018-05-08 2018-05-08 字符串校验的方法及装置 Active CN108629174B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810433358.1A CN108629174B (zh) 2018-05-08 2018-05-08 字符串校验的方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810433358.1A CN108629174B (zh) 2018-05-08 2018-05-08 字符串校验的方法及装置

Publications (2)

Publication Number Publication Date
CN108629174A CN108629174A (zh) 2018-10-09
CN108629174B true CN108629174B (zh) 2022-06-07

Family

ID=63695939

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810433358.1A Active CN108629174B (zh) 2018-05-08 2018-05-08 字符串校验的方法及装置

Country Status (1)

Country Link
CN (1) CN108629174B (zh)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
PL3660716T3 (pl) * 2018-11-30 2021-05-31 Ovh Infrastruktura usługowa i sposoby przewidywania i wykrywania potencjalnych anomalii w infrastrukturze usługowej
CN109830229A (zh) * 2018-12-11 2019-05-31 平安科技(深圳)有限公司 音频语料智能清洗方法、装置、存储介质和计算机设备
CN111221603B (zh) * 2019-10-30 2024-08-13 深圳前海微众银行股份有限公司 一种基于输入框的信息输入方法及装置
CN110769206B (zh) * 2019-11-19 2022-01-07 深圳开立生物医疗科技股份有限公司 一种电子内窥镜信号传输方法、装置和系统及电子设备
CN111080208B (zh) * 2019-12-27 2020-09-01 云汉芯城(上海)互联网科技股份有限公司 一种bom配单装置、方法及电子设备和存储介质
CN113051923B (zh) * 2021-04-22 2023-03-21 平安普惠企业管理有限公司 数据验证方法、装置、计算机设备和存储介质
CN113946724A (zh) * 2021-11-30 2022-01-18 上海豪承信息技术有限公司 相机模组的检测方法和装置
CN114706871B (zh) * 2022-04-26 2023-01-03 扬州智能科技有限公司 一种基于综合监控管理的数据监控方法及系统
CN115482631B (zh) * 2022-09-09 2024-06-25 浙江口碑网络技术有限公司 信息交互方法及装置
CN118642607A (zh) * 2024-08-13 2024-09-13 九科信息技术(深圳)有限公司 输入内容的验证方法、设备、服务器及存储介质

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040024760A1 (en) * 2002-07-31 2004-02-05 Phonetic Research Ltd. System, method and computer program product for matching textual strings using language-biased normalisation, phonetic representation and correlation functions
CN100452042C (zh) * 2006-06-23 2009-01-14 腾讯科技(深圳)有限公司 数字串模糊匹配的方法
EP2703955B1 (en) * 2012-08-31 2014-11-26 BlackBerry Limited Scoring predictions based on prediction length and typing speed
CN103678342B (zh) * 2012-09-07 2018-04-27 腾讯科技(深圳)有限公司 启动项识别方法及装置
CN103870744B (zh) * 2012-12-13 2018-04-27 联想(北京)有限公司 一种验证密码的方法及电子设备
CN104423621A (zh) * 2013-08-22 2015-03-18 北京搜狗科技发展有限公司 拼音字符串处理方法和装置
CN103699233B (zh) * 2013-12-20 2019-04-09 百度在线网络技术(北京)有限公司 字符串输入方法和输入装置
CN104246663A (zh) * 2013-12-31 2014-12-24 华为终端有限公司 一种字符串输入控制方法,及装置
US9871714B2 (en) * 2014-08-01 2018-01-16 Facebook, Inc. Identifying user biases for search results on online social networks
CN104281795B (zh) * 2014-09-25 2017-10-31 同济大学 基于鼠标行为的密码容错方法
CN105590044B (zh) * 2014-10-23 2018-12-21 阿里巴巴集团控股有限公司 一种信息认证方法及装置
CN105630188B (zh) * 2015-12-24 2018-11-27 魅族科技(中国)有限公司 一种展示字符串的方法及终端
CN106446062A (zh) * 2016-09-05 2017-02-22 惠州市德赛西威汽车电子股份有限公司 一种连续字符与模糊字符的检索系统及方法

Also Published As

Publication number Publication date
CN108629174A (zh) 2018-10-09

Similar Documents

Publication Publication Date Title
CN108629174B (zh) 字符串校验的方法及装置
Saevanee et al. Continuous user authentication using multi-modal biometrics
EP2951746B1 (en) System and method of enhancing security of a wireless device through usage pattern detection
US8997191B1 (en) Gradual template generation
CN107785021B (zh) 语音输入方法、装置、计算机设备和介质
Tasia et al. Two novel biometric features in keystroke dynamics authentication systems for touch screen devices
JP5500180B2 (ja) 指紋認証装置、指紋認証方法及び指紋認証プログラム
CN107710212B (zh) 终端装置及计算机程序
JP5549456B2 (ja) 生体認証装置及び生体認証方法
US8752144B1 (en) Targeted biometric challenges
JP2007114976A (ja) 情報処理装置およびその認証プログラム
CN106570367B (zh) 基于键盘操作的用户身份识别方法和装置
JP2005149388A (ja) パスワード認証装置、並びに、そのプログラムおよび記録媒体
Alpar Biometric touchstroke authentication by fuzzy proximity of touch locations
US8656474B2 (en) Biometric authentication device, biometric authentication method and storage medium
JP2007265219A (ja) 生体認証システム
CN111090846B (zh) 登录认证方法、装置、电子设备及计算机可读存储介质
US11934498B2 (en) Method and system of user identification
KR20100088261A (ko) 입력장치를 통한 패스워드 데이터의 다차원 패턴을 이용한 인증 시스템 및 방법
CN114036476A (zh) 用户登录认证方法、装置、设备、存储介质和产品
US20090150437A1 (en) System and method for tracking an individual using typeprinting
CN106936840B (zh) 一种信息提示方法及装置
CN112417429A (zh) 安全验证方法、装置、电子设备及存储介质
CN111639322A (zh) 应用的登录方法及装置、电子设备、计算机存储介质
JP2021184151A (ja) 認証方法、情報処理装置、及び認証プログラム

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
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 1261860

Country of ref document: HK

TA01 Transfer of patent application right
TA01 Transfer of patent application right

Effective date of registration: 20201022

Address after: Cayman Enterprise Centre, 27 Hospital Road, George Town, Grand Cayman Islands

Applicant after: Innovative advanced technology Co.,Ltd.

Address before: Cayman Enterprise Centre, 27 Hospital Road, George Town, Grand Cayman Islands

Applicant before: Advanced innovation technology Co.,Ltd.

Effective date of registration: 20201022

Address after: Cayman Enterprise Centre, 27 Hospital Road, George Town, Grand Cayman Islands

Applicant after: Advanced innovation technology Co.,Ltd.

Address before: A four-storey 847 mailbox in Grand Cayman Capital Building, British Cayman Islands

Applicant before: Alibaba Group Holding Ltd.

GR01 Patent grant
GR01 Patent grant