'int' 对象不可迭代 python 暴力破解密码

'int' object is not iterable python brute force password

即使语法看起来都是正确的,我仍然会抛出一个输出错误,它在输出上抛出这个错误的原因是什么? (请忽略我的错误缩进)。

import zipfile
myZip = zipfile.ZipFile("/mydile.zip")
count = 0
for x in range(0,1005310):
   password = count
   count += 1
   try:
      myZip.extractall(pwd = password)
      print(password)
except Exception as e:
      print(e)
print "Sorry, password not found."
count = 0

count 是一个整数。

password = count

password 是一个整数。

myZip.extractall(pwd = password)

这不可能是对的。 pwd 必须具有字符串值。您可以使用 str()

将其转换为字符串

正如 Ryan 所建议的,这正是您必须要做的。

myZip.extractall(pwd = str(password))

您不能将 str() 放在其他任何地方,因为到目前为止您正在执行算术运算,并且您不能在不转换的情况下对字符串进行算术运算。


请记住,这种暴力破解方法只有在密码为整数时才有效。这是极不可能的,因此您可能还想包含字符。如果您决定这样做,post 可能会有一些用处。