0

首先,我希望这是允许的。我丢失了一个非常重要的个人文件的密码,我正在尝试对其进行强制破解,以便将其取回,但是在尝试查找使其工作的代码时,我找到了这个,但它已半损坏。如果它是“fg”,它会找到密码,但如果它是“gf”,它会找到密码,谁能告诉我为什么以及如何修复它?

import traceback
from itertools import combinations

lookingfor = "fg"

try:
letritas = ["a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "ñ", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z", "0", "1", "2", "3", "4", "5", "6", "7", "8", "9"]
for c in combinations(letritas, 2):
  combinacion1 = str(c).replace("', '", "")
  combinacion2 = combinacion1.replace("('", "")
  combinacion3 = combinacion2.replace("')", "")
  print("Trying: ["+combinacion3+"]")
  if lookingfor == combinacion3:
      print("Found on: "+combinacion3)
      break

假设这有效并创建了所有组合,每次我在真实代码上得到一个错误的组合,我都会得到一个 OSError,我想知道是否有办法设置除了 OSERROR:忽略错误并继续循环,直到找到正确的.

编辑:这是python 3.3.2

4

1 回答 1

0

排列成功了,我找到了一种重复代码的方法,不包括尝试过的代码,那就是

  if not combinacion3 in comprobadas:
    print("Trying: ["+combinacion3+"]")
    comprobadas.append(combinacion3)

这样它会存储所有尝试过的,并且不会在下次尝试时尝试。

于 2013-10-05T17:56:31.320 回答