密码遍历方法和装置的制造方法_3

文档序号:8397961阅读:来源:国知局
符,根据字符对应密码第一位的概率因子计算字符在密码第一位的出现概率,以得到预设字符集中各字符在密码第一位的出现概率;
[0091]步骤S2062:将预设字符集中在密码第一位的出现概率最大的字符作为第一个密码的第一位字符;
[0092]步骤S2063:针对预设字符集中的任意一个字符,根据字符对应密码第η位的概率因子、该字符与第一个密码的第η-1位字符的关联因子计算字符在第一个密码的第η位的出现概率,以得到预设字符集中各字符在第一个密码的第η位的出现概率,并将预设字符集中在第一个密码的第η位的出现概率最大的字符作为第一个密码的第η位字符。
[0093]其中,η为大于I小于密码长度的自然数。在采用步骤S2063计算并得到第一个密码的每一位字符后,也即得到了第一个遍历密码。
[0094]步骤S208:继续遍历得到遍历的第j个密码。
[0095]其中,j为大于I且不大于预设字符集用于进行密码遍历时的密码空间。具体地,该步骤S208可包括以下的步骤:
[0096]步骤S2081:获取第j-Ι个密码的第一位字符和第二位字符;
[0097]步骤S2082:确定第j_l个密码的第一位字符的下一个字符,以得到第一字符,其中,第一字符为将预设字符集中的字符按照在j_l个密码第一位的出现概率由大到小排序后,与第j-Ι个密码的第一位字符相邻的下一个字符,第一字符在j-Ι个密码第一位的出现概率为第一概率;
[0098]步骤S2083:确定第j_l个密码的第二位字符的下一个字符,以得到第二字符,其中,第二字符为将预设字符集中的字符按照在j_l个密码第二位的出现概率由大到小排序后,与第j-Ι个密码的第二位字符相邻的下一个字符,第二字符在j-Ι个密码第二位的出现概率为第二概率;
[0099]步骤S2084:比较第一概率与第二概率的大小;
[0100]步骤S2085:若第一概率大于第二概率,将第一字符作为第j个密码的第一位字符,并进一步确定第j个密码的其他位字符,以得到第j个密码。
[0101]具体地,在确定第j个密码的第一位字符后,通过步骤SllO可计算出预设字符集中各字符在第j个密码第二位的出现概率,通过步骤SI 12,将各字符在第j个密码第二位的出现概率中最大出现概率对应的字符确定为该第j个密码的第二位字符;对于该第j个密码,在确定第二位字符之后,通过步骤SllO可计算出预设字符集中各字符在第j个密码第三位的出现概率,通过步骤S112,将各字符在第j个密码第三位的出现概率中最大出现概率对应的字符确定为该第j个密码的第三位字符。以此类推,直到该第j个密码的所有位字符都被确定,完成一个密码的遍历,得到一个遍历密码,也即第j个密码。
[0102]步骤S2086:若第一概率小于第二概率,将第j-Ι个密码的第一位字符作为第j个密码的第一位字符,将第二字符作为第j个密码的第二位字符,并进一步确定第j个密码的其他位字符,以得到第j个密码。
[0103]具体地,在确定第j个密码的第一位字符和第二位字符后,通过步骤SllO可计算出预设字符集中各字符在第j个密码第三位的出现概率,通过步骤SI 12,将各字符在第j个密码第三位的出现概率中最大出现概率对应的字符确定为该第j个密码的第三位字符;对于该第j个密码,在确定第三位字符之后,通过步骤SllO可计算出预设字符集中各字符在第j个密码第四位的出现概率,通过步骤S112,将各字符在第j个密码第四位的出现概率中最大出现概率对应的字符确定为该第j个密码的第四位字符。以此类推,直到该第j个密码的所有位字符都被确定,完成一个密码的遍历,得到一个遍历密码,也即第j个密码。
[0104]步骤S210:判断第j个密码是否为有效密码。
[0105]步骤S212:若第j个密码为有效密码时,结束遍历。
[0106]步骤S214:若遍历密码不为有效密码时,计算已遍历的密码个数占预设字符集用于进行密码遍历时的密码空间的比例,以得到密码遍历的空间覆盖率。
[0107]步骤S216:当空间覆盖率小于预设阈值时,j = j+1,返回步骤S208。
[0108]步骤S218:当空间覆盖率等于预设阈值时,结束遍历。
[0109]采用该优选实施例提供的密码遍历方法,在确定一个遍历密码的第一位字符时,参照前一个已确定的遍历密码来确定,从而能够简单快速的优先找到有效密码,进一步提高密码遍历方法效率。同时,可根据实际使用需求设定空间覆盖率的阈值,例如意在较短时间内完成密码遍历,则可以降低空间覆盖率的阈值,意在尽可能提高成功率,则提高空间覆盖率的阈值。
[0110]实施例4
[0111]如图4所示,该实施例提供一种更优选的密码遍历方法,该方法包括如下的步骤S402至步骤S408。
[0112]步骤S402:获取进行密码遍历的预设字符集。
[0113]步骤S404:获取预设字符集对应的概率因子集和关联因子集。
[0114]步骤S406:开始密码遍历,以得到遍历的第一个密码。
[0115]具体地,该步骤S406可包括以下的步骤:
[0116]步骤S4061:根据概率因子集和关联因子集计算预设字符集中各字符在第一个遍历密码第一位的出现概率。
[0117]具体地,以预设字符集中任一字符,也即X字符为例,计算X字符在第一个遍历密码第一位的出现概率可采用以下的两种计算方式:
[0118]第一种,将X字符对应密码第一位的概率因子作为X字符在第一个遍历密码第一位的出现概率。通过该种计算方法,对于X字符,可得到一个出现概率。
[0119]第二种,采用以下公式计算X字符在第一个遍历密码第一位的出现概率,
[0120]P1= α !Xai+β ^b1,
[0121]其中,P1S X字符在第一个遍历密码第一位的出现概率,α I为X字符对应密码第一位的概率因子,β X字符与预设字符集中各字符的关联因子,a jp b i为预设的权重值,且Bjb1= I。通过该种计算方法,对于X字符,β 1取X字符与预设字符集中不同字符的关联因子时,均可得到一个出现概率,因而,对于X字符,如果预设字符集中有M个字符,则该计算方法可得到M个出现概率。
[0122]步骤S4062:确定预设字符集中在第一个遍历密码第一位的出现概率最大的字符为第一个遍历密码的第一位字符。
[0123]无论采用上述哪一种计算方法,取计算得到的所有出现概率的最大值,将该最大值对应的字符作为第一个遍历密码的第一位字符。
[0124]步骤S4063:在确定第一个遍历密码的第η_1位字符后,根据第n_l位字符、概率因子集和关联因子集计算预设字符集中各字符在第一个遍历密码第η位的出现概率,η =2,3,4…N,N为进行密码遍历的密码长度。
[0125]具体地,以预设字符集中任一字符,也即X字符为例,在确定第一个遍历密码的第η-1位字符后,计算X字符在第一个遍历密码第η位的出现概率可采用以下的计算方式:
[0126]Pn= a nXan+f3nXbn,
[0127]其中,PnS X字符在该第一个遍历密码第η位的出现概率,α ^为X字符对应密码第η位的概率因子,β ?为X字符与第一个遍历密码的第η-1位字符的关联因子,a ?和b ?为预设的权重值,且an+bn= I。
[0128]通过该种计算方法,对于X字符,可得到一个出现概率,因而,预设字符集中的每个字符均可得到在该第一个遍历密码第η位的一个出现概率。
[0129]步骤S4064:确定预设字符集中在第一个遍历密码第η位的出现概率最大的字符为第一个遍历密码的第η位字符。
[0130]在该步骤S4064中,取计算得到的所有出现概率的最大值,将该最大值对应的字符作为第一个遍历密码的第η位字符。
[0131]步骤S4065:将第一个遍历密码的每一位字符按位组合,以确定第一个遍历密码。
[0132]在确定第一个遍历密码的第一位字符后,按照上述步骤S4063和步骤S4034确定第二位字符,再按照上述步骤S4063和步骤S4064确定第三位字符依次类推,直到确定第一个遍历密码每一位上的字符,最终在该步骤S4065中,将每一位字符按位组合即可得到第一个遍历密码。
[0133]步骤S408:继续遍历得到第j个遍历密码。
[0134]具体地,在确定第一个遍历密码后,根据第一个遍历密码、概率因子集和关联因子集更新第一个遍历密码,以得到第二个遍历密码;在确定第二个遍历密码后,根据第二个遍历密码、概率因子集和关联因子集更新第二个遍历密码,以得到第三个遍历密码,依次类推,也即在确定第j-Ι个遍历密码后,根据第j-Ι个遍历密码、概率因子集和关联因子集更新第j-Ι个遍历密码,以得到第j个遍历密码,其中,j = 2,3,4…J,J为进行密码遍历的密码个数。
[0135]具体地,在实现该步骤S408时,首先进行如下的定义:第j-Ι个遍历密码的每一位字符均存在一个下一个字符,例如设第m字符为第j-Ι个遍历密码的第m位字符的下一个字符,第m字符具体定义是将预设字符集中各字符按照在j-Ι个遍历密码的第m位的出现概率由大到小排序后,与第m位字符相邻的下一个字符。m= 1,2,3,4…N。
[0136]若定义第m字符对应的概率为第m字符在j_l个遍历密码的第m位的出现概率,则特殊地,第X字符为第j-Ι个遍历密码的第X位字符的下一个字符,且该第X字符对应的概率为第j-ι个遍历密码的各位字符的下一个字符对应的概率中的最大概率。
[0137]在上述定义第m字符和第X字符的基础上,步骤S408包括以下的步骤:
[0138]步骤S4081:将第j-Ι个遍历密码的第一位字符至第X_1位字符依次作为第j个遍历密码的第一位字符至第X-1位字符,第j个遍历密码的前X-1位字符与第j-Ι个遍历密码的前X-1位字符分别对应相同。
[0139]步骤S4082:将第X字符作为第j个遍历密码的第X位字符。
[0140]步骤S4083:针对第j个遍历密码的第X+1位字符至第N位字符,在确定第j个遍历密码的第1-1位字符后,根据第1-1位字符、概率因子集和关联因子集计算预设字符集中各字符在第j个遍历密码第I位的出现概率,I = x+1, X+2…N,N为进行密码遍历的密码长度。
[0141]具体地,以预设字符集中任一字符,也即X字符为例,在确定第j个遍历密码的第
1-1位字符后,计算X字符在第j个遍历密码第I位的出现概率可采用以下的计算方式:
[0142]P1= α^b1,
[0143]其中,P1S X字符在该第j个遍历密码第I位的出现概率,α 1为X字符对应密码第I位的概率因子,β X字符与第j个遍历密码的第1-1位字符的关联因子,α 1和β 1为预设的权重值,且Sfb1= 1
[0144]通过该种计算方法,对于X字符,可得到一个出现概率,因而,预设字符集中的每个字符均可得到在第j个遍历密码第I位的一个出现概率。
[0145]步骤S4084:确定预设字符集中在第j个遍历密码第I位的出现概率最大的字符为第j个遍历密码的第I位字符。
[0146]在该步骤S4084中,取计算得到的所有出现概率的最大值
当前第3页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1