CN110781351A - 一种字典值文件生成方法、系统及相关装置 - Google Patents
一种字典值文件生成方法、系统及相关装置 Download PDFInfo
- Publication number
- CN110781351A CN110781351A CN201910968190.9A CN201910968190A CN110781351A CN 110781351 A CN110781351 A CN 110781351A CN 201910968190 A CN201910968190 A CN 201910968190A CN 110781351 A CN110781351 A CN 110781351A
- Authority
- CN
- China
- Prior art keywords
- dictionary
- matching
- dictionary value
- character string
- generating
- 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.)
- Withdrawn
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/901—Indexing; Data structures therefor; Storage structures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/903—Querying
- G06F16/90335—Query processing
- G06F16/90344—Query processing by using string matching techniques
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- Software Systems (AREA)
- Machine Translation (AREA)
Abstract
本申请提供一种字典值文件的生成方法,包括:根据目标字符串的特征信息生成字典值;利用所述字典值对所述目标字符串进行匹配,确定所述目标字符串的匹配概率;所述匹配概率为匹配次数和执行次数的比值;按照所述匹配概率从大到小的顺序将所述字典值重新排序生成字典值文件;所述字典值文件用于字符串匹配。本申请先根据字符串的特征信息生成字典值,利用字典值对字符串进行匹配,通过计算字符串匹配成功的概率,根据匹配概率生成执行顺序,使得匹配概率较高的字符串在前,利用字典值文件匹配字符串时可以尽快匹配成功,提高字符匹配效率。本申请还提供一种智能字符组合系统、一种计算机可读存储介质和一种终端,具有上述有益效果。
Description
技术领域
本申请涉及数据库领域,特别涉及一种字典值文件生成方法、系统及相关装置。
背景技术
在使用到随机字符串的场景中,有时会使用到字典值,字典值指的是一个文件中包含改字符串所有的可能值,如可能用到的用户名,密码或其他字符串。传统的字典值文件以及其中的内容是固定不变的,字典值文件的大小基本相当于匹配字符串概率的大小,并且在匹配的时候每次只能从第1个至第n个的方式顺序执行,这样一来,如果匹配的字符串在该字典值的后部,则需要耗费巨大的时间才能匹配到。
因此如何提高字符串匹配效率是本领域技术人员亟需解决的技术问题。
发明内容
本申请的目的是提供一种字典值文件生成方法、系统、一种计算机可读存储介质和一种终端,能够高字符串匹配效率。
为解决上述技术问题,本申请提供一种字典值文件的生成方法,具体技术方案如下:
根据目标字符串的特征信息生成字典值;
利用所述字典值对所述目标字符串进行匹配,确定所述目标字符串的匹配概率;所述匹配概率为匹配次数和执行次数的比值;
按照所述匹配概率从大到小的顺序将所述字典值重新排序生成字典值文件;所述字典值文件用于字符串匹配。
其中,所述特征信息包括基本特征信息和精确特征信息。
其中,根据目标字符串的特征信息生成字典值包括:
将目标字符串的特征信息进行排列组合生成字典值。
其中,根据目标字符串的特征信息生成字典值,包括:
根据目标字符串的特征信息和传统字典生成字典值。
其中,根据目标字符串的特征信息生成字典值之后,还包括:
将所述字典值保存至数据库,并为每个所述字典值分配标识符、初始匹配概率、初始执行次数和初始匹配次数。
其中,按照所述匹配概率从大到小的顺序将所述字典值重新排序生成字典值文件时,若所述匹配概率相同,将匹配时间最近的目标字符串排在前。
本申请还提供一种字典值文件的生成系统,包括:
字典值生成模块,用于根据目标字符串的特征信息生成字典值;
概率确定模块,用于利用所述字典值对所述目标字符串进行匹配,确定所述目标字符串的匹配概率;所述匹配概率为匹配次数和执行次数的比值;
字典生成,用于按照所述匹配概率从大到小的顺序将所述字典值重新排序生成字典值文件;所述字典值文件用于字符串匹配。
其中,所述字典值生成模块具体为用于将目标字符串的特征信息进行排列组合生成字典值的模块。
本申请还提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如上所述的字典值文件的生成方法的步骤。
本申请还提供一种终端,包括存储器和处理器,所述存储器中存有计算机程序,所述处理器调用所述存储器中的计算机程序时实现如上所述的字典值文件的生成方法的步骤。
本申请提供一种字典值文件的生成方法,包括:根据目标字符串的特征信息生成字典值;利用所述字典值对所述目标字符串进行匹配,确定所述目标字符串的匹配概率;所述匹配概率为匹配次数和执行次数的比值;按照所述匹配概率从大到小的顺序将所述字典值重新排序生成字典值文件;所述字典值文件用于字符串匹配。
本申请先根据字符串的特征信息生成字典值,利用字典值对字符串进行匹配,通过计算字符串匹配成功的概率,根据匹配概率生成执行顺序,使得匹配概率较高的字符串在前,利用字典值文件匹配字符串时可以尽快匹配成功,提高字符匹配效率。本申请还提供一种智能字符组合系统、一种计算机可读存储介质和一种终端,具有上述有益效果,此处不再赘述。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本申请实施例所提供的一种字典值文件的生成方法的流程图;
图2为本申请实施例所提供的另一种字典值文件的生成方法的流程图;
图3为本申请实施例所提供的一种字典值文件的生成系统结构示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
在传统的字典值字符匹配中,基本上是按照字典中的字符串顺序匹配,字符串的值以及字符串在字典中的顺序是固定,每次匹配均按照此顺序执行,如果匹配正确的字符串在字典文件的后部,则每次匹配的正确字符串都需要执行多个错误的字符串才能匹配到,如果字典文件很大,需要耗费很多的时间,多则几天,并且对于执行匹配的机器的性能要求也很高。为此,本申请提供一种新的字典值文件的生成方法,具体内容如下:
请参考图1,图1为本申请实施例所提供的一种字典值文件的生成方法的流程图,该方法包括:
S101:根据目标字符串的特征信息生成字典值;
S102:利用字典值对目标字符串进行匹配,确定目标字符串的匹配概率;匹配概率为匹配次数和执行次数的比值;
S103:按照匹配概率从大到小的顺序将字典值重新组合排序生成字典值文件。
步骤S101中,实际上是根据将目标字符串的特征信息进行排列组合生成字典值,或者说利用社会工程学方法预生成字典值。社会工程学方法指的是通过问卷调查、目标官网等方式获取目标需匹配的字符串的特征信息,这里以用户信息举例,但不仅限于用户信息,如用户信息可以包括姓名,出生日期,出生地、工作信息等,如果需要字符串为用户名,则用户名的字典值可以通过以上获得的姓名,出生日期等信息转换为对应的字符串,字符串随机组合为用户名的字符串,并生成用户名的字典值,例如:姓名为A,出生日期为B,出生地为C,工作单位为D,则可能存在的用户名有A、B、C、D、AB、AC、AD、BC…ABC、ABD、BCD…ABCD等等若干种,共存在C(4,1)+C(4,2)+C(4,3)+C(4,4)中组合,将以上组合成字典值,并保存为制定的文件格式。
此外,特征信息分为基本特征信息和精确特征信息。基本特征信息至包含用户的一种基本特征,而精确特征信息可以包含多种形式或不同内容的特征信息。例如用户信息中的用户名可以包含中文名和英文名,中文名还可以包含昵称、简称、外号等等。用户信息可以选择更复杂的组合,即将特征信息进行拆分,根据每个特征信息的不同表现形式即精确特征信息进行排列组合,例如:
基本特征信息:
姓名A:zhang san
出生日期:1988-08-10
出生地:shandong jinan lixia
工作单位:inspur
则精确特征信息对应的包括:
姓名存在A1=zhang、A2=san、A3=zhangsan,
出生日期存在B1=1988、B2=198808、B3=19880810、B4=0810…,
出生地为C1…Cn,
工作单位为D1…Dn;
可以看出,当用户信息更精确时,每个属性都会有若干种表达方式或者表现形式,则此时用户信息的种类将更多,此时得到的字典值也同样增加。
在步骤S101生成字典值之后,可以将字典值保存至预设位置例如数据库等,还可以为每个字典值分配标识符、初始匹配概率、初始执行次数和初始匹配次数。生成的字典值可以存到数据库中,也可以存到文件中。这里以数据库为例,字典值存到数据库中,每个值标识顺序为1、2、3…n,初始匹配概率均设置为0,初始执行次数为0,初始匹配次数设置为0。
匹配次数指的是字典值与目标字符串相匹配的次数,即匹配成功的次数。而执行次数指字典值执行匹配的次数,则匹配概率为匹配次数与执行次数的比值。
举例而言,在实际使用中,选择一个字典对用户名1进行匹配,如第一次执行时,其中的字典值A1匹配正确,则:
字典值A1的执行次数置为1,匹配次数置为1,匹配概率置为100%;
其他字典值执行次数置为1,匹配次数置为1,匹配概率置为0%。
第二次执行,字典值A2匹配正确,则:
A1执行次数置为2,匹配次数置为1,匹配概率置为50%;
A2执行次数置为2,匹配次数置为1,匹配概率置为50%;
其他字典值执行次数置为2,匹配次数置为2,匹配概率置为0%。
后续依次类推,根据实际匹配正确的字典值计算匹配概率,匹配概率的计算方法为匹配次数/执行次数,计算结果存到匹配概率中。也即是说,利用字典值对目标字符串进行匹配时,需要将所有的字典值均匹配一次,得到每个字典值的执行次数和匹配次数,进而确定对应的匹配概率。
最后根据步骤102中的匹配概率将字典值重新进行排序得到字典值文件,而字典值文件用于字符串匹配。字典值文件中,匹配概率最高的排在第一位,外后依次排列;对于概率相同的字典值,可以根据匹配时间,匹配时间新的即距当前时间较近的排在前边,如上文中的A1和A2虽然匹配概率均为50%,但针对A2的匹配时间在后,则在字典值文件中A2应排在A1前边。
需要注意的是,由于字典值的数量较多,因此实际应用中匹配概率相同的字典值相对较少。因此,在利用该字典值文件进行字符串匹配时,可以视为该字典值文件按照匹配概率从大到小的顺序对字符串匹配。
在生成字典值文件后,即可利用该字典值文件对字符串进行匹配,匹配时,按照上述过程中的得到的顺序进行匹配。在整个匹配过程中,优先利用匹配概率高的字典值匹配,能够更快的确定字符串所匹配的字典值。
本申请先根据字符串的特征信息生成字典值,利用字典值对字符串进行匹配,通过计算字符串匹配成功的概率,根据匹配概率生成执行顺序,使得匹配概率较高的字符串在前,利用字典值文件匹配字符串时可以尽快匹配成功,提高字符匹配效率。
优选的,基于上述实施例的内容,字典值也可以在上述内容的基础上再添加传统字典得到,传统字典可以导入任意字典,字典可以进行分类,如用户名字典、密码字典、搜索字典、SQL注入字典、XSS字典等,每种类别可以细分为用户名1、用户名2。
由此可见,可以直接根据目标字符串的特征信息生成字典值,也可以根据目标字符串的特征信息和传统字典生成字典值。
则此时字典值文件的生成方法参见图2,图2为本申请实施例所提供的另一种字典值文件的生成方法的流程图,具体过程如下:
S201:根据目标字符串的特征信息和传统字典生成字典值;
S202:利用字典值对目标字符串进行匹配,确定目标字符串的匹配概率;匹配概率为匹配次数和执行次数的比值;
S203:按照匹配概率从大到小的顺序将字典值重新组合排序生成字典值文件。
优选的,结合本实施例和上一实施例,可以在确定目标字符串的特征信息之后,判断是否需要结合传统字典,或者导入传统字典,若判断结果为是则执行本实施例的步骤S201,否则按上一实施例的过程执行。
当然,无论是否结合传统字典,字典值的生成过程通常均需要采用排列组合的方式执行。
下面对本申请实施例提供的一种字典值文件的生成系统进行介绍,下文描述的字典值文件的生成系统与上文描述的字典值文件的生成方法可相互对应参照。
参见图3,图3为本申请实施例所提供的一种字典值文件的生成系统结构示意图,本申请还提供一种字典值文件的生成系统,包括:
字典值生成模块100,用于根据目标字符串的特征信息生成字典值;
概率确定模块200,用于利用所述字典值对所述目标字符串进行匹配,确定所述目标字符串的匹配概率;所述匹配概率为匹配次数和执行次数的比值;
字典生成模块300,用于按照所述匹配概率从大到小的顺序将所述字典值重新排序生成字典值文件;所述字典值文件用于字符串匹配。
优选的,所述字典值生成模块100具体为用于将目标字符串的特征信息进行排列组合生成字典值的模块。
可选的,作为优选的实施例,字典值文件的生成系统还可以包括:
保存模块,用于将所述字典值保存至数据库,并为每个所述字典值分配标识符、初始匹配概率、初始执行次数和初始匹配次数。
可选的,作为优选的实施例,字典生成模块300可以包括:
组合单元,用于当所述匹配概率相同时,将匹配时间最近的目标字符串排在前。
本申请还提供了一种计算机可读存储介质,其上存有计算机程序,该计算机程序被执行时可以实现上述实施例所提供的字典值文件的生成方法的步骤。该存储介质可以包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random AccessMemory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
本申请还提供了一种终端,可以包括存储器和处理器,所述存储器中存有计算机程序,所述处理器调用所述存储器中的计算机程序时,可以实现上述实施例所提供的字典值文件的生成方法的步骤。当然所述终端还可以包括各种网络接口,电源等组件。
说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例提供的系统而言,由于其与实施例提供的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以对本申请进行若干改进和修饰,这些改进和修饰也落入本申请权利要求的保护范围内。
还需要说明的是,在本说明书中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
Claims (10)
1.一种字典值文件的生成方法,其特征在于,包括:
根据目标字符串的特征信息生成字典值;
利用所述字典值对所述目标字符串进行匹配,确定所述目标字符串的匹配概率;所述匹配概率为匹配次数和执行次数的比值;
按照所述匹配概率从大到小的顺序将所述字典值重新排序生成字典值文件;所述字典值文件用于字符串匹配。
2.根据权利要求1所述的字典值文件生成方法,其特征在于,所述特征信息包括基本特征信息和精确特征信息。
3.根据权利要求1或2所述的字典值文件生成方法,其特征在于,根据目标字符串的特征信息生成字典值包括:
将目标字符串的特征信息进行排列组合生成字典值。
4.根据权利要求1所述的字典值文件生成方法,其特征在于,根据目标字符串的特征信息生成字典值,包括:
根据目标字符串的特征信息和传统字典生成字典值。
5.根据权利要求1所述的字典值文件生成方法,其特征在于,根据目标字符串的特征信息生成字典值之后,还包括:
将所述字典值保存至数据库,并为每个所述字典值分配标识符、初始匹配概率、初始执行次数和初始匹配次数。
6.根据权利要求1所述的字典值文件生成方法,其特征在于,按照所述匹配概率从大到小的顺序将所述字典值重新排序生成字典值文件时,若所述匹配概率相同,将匹配时间最近的目标字符串排在前。
7.一种字典值文件的生成系统,其特征在于,包括:
字典值生成模块,用于根据目标字符串的特征信息生成字典值;
概率确定模块,用于利用所述字典值对所述目标字符串进行匹配,确定所述目标字符串的匹配概率;所述匹配概率为匹配次数和执行次数的比值;
字典生成,用于按照所述匹配概率从大到小的顺序将所述字典值重新排序生成字典值文件;所述字典值文件用于字符串匹配。
8.根据权利要求7所述的智能字符组合系统,其特征在于,所述字典值生成模块具体为用于将目标字符串的特征信息进行排列组合生成字典值的模块。
9.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1-6任一项所述的字典值文件的生成方法的步骤。
10.一种终端,其特征在于,包括存储器和处理器,所述存储器中存有计算机程序,所述处理器调用所述存储器中的计算机程序时实现如权利要求1-6任一项所述的字典值文件的生成方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910968190.9A CN110781351A (zh) | 2019-10-12 | 2019-10-12 | 一种字典值文件生成方法、系统及相关装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910968190.9A CN110781351A (zh) | 2019-10-12 | 2019-10-12 | 一种字典值文件生成方法、系统及相关装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110781351A true CN110781351A (zh) | 2020-02-11 |
Family
ID=69385189
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910968190.9A Withdrawn CN110781351A (zh) | 2019-10-12 | 2019-10-12 | 一种字典值文件生成方法、系统及相关装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110781351A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112765594A (zh) * | 2021-01-20 | 2021-05-07 | 中国工商银行股份有限公司 | 一种弱口令检测方法及装置 |
-
2019
- 2019-10-12 CN CN201910968190.9A patent/CN110781351A/zh not_active Withdrawn
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112765594A (zh) * | 2021-01-20 | 2021-05-07 | 中国工商银行股份有限公司 | 一种弱口令检测方法及装置 |
CN112765594B (zh) * | 2021-01-20 | 2024-03-22 | 中国工商银行股份有限公司 | 一种弱口令检测方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9058393B1 (en) | Tools for appraising a domain name using keyword monetary value data | |
AU2015347304B2 (en) | Testing insecure computing environments using random data sets generated from characterizations of real data sets | |
CN104036187B (zh) | 计算机病毒类型确定方法及其系统 | |
CN108415998B (zh) | 应用依赖关系更新方法、终端、设备及存储介质 | |
CN112286934A (zh) | 数据库表导入方法、装置、设备及介质 | |
US8909558B1 (en) | Appraising a domain name using keyword monetary value data | |
CN110781351A (zh) | 一种字典值文件生成方法、系统及相关装置 | |
CN116452123A (zh) | 清单项目特征值的生成方法、装置和计算机设备 | |
CN111723210A (zh) | 存储数据表的方法、装置、计算机设备及可读存储介质 | |
US8290976B2 (en) | Systems and methods for executing a navigation query | |
CN114493701A (zh) | 一种用户分群的方法和装置 | |
CN110555185A (zh) | 基于pc客户端的页面定制方法及系统 | |
US9842112B1 (en) | System and method for identifying fields in a file using examples in the file received from a user | |
CN109857735B (zh) | 一种通过excel进行规则描述的数据构造方法及系统 | |
CN110795617A (zh) | 一种搜索词的纠错方法及相关装置 | |
CN103136166A (zh) | 字体确定方法和设备 | |
CN111949684B (zh) | Sql语句的执行方法、装置、设备和存储介质 | |
CN107729518A (zh) | 一种关系型数据库的全文检索方法及装置 | |
CN114461606A (zh) | 数据存储方法、装置、计算机设备及存储介质 | |
CN111104369A (zh) | 一种检索数据库构建方法及装置 | |
CN110879810A (zh) | 数据处理方法及装置 | |
CN105740131A (zh) | 软件用户行为回退处理方法及装置 | |
CN114201525B (zh) | 查询数据的方法及装置 | |
CN115017190A (zh) | 一种基于触发器与动态sql以提供序号的方法和装置 | |
CN113377712B (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 | ||
WW01 | Invention patent application withdrawn after publication |
Application publication date: 20200211 |
|
WW01 | Invention patent application withdrawn after publication |