Python的密码破解
我的代码是Python的密码破解
from random import *
guess = ""
password = input("Password: ")
letters = ["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"]
while (guess != password):
for letter in password:
guessletter = letters[randint(0, 25)]
guess = str(guessletter) + str(guess)
print(guess)
print("Password guessed!")
input("")
我的目标是得到它的随机生成的字母和把它们粘在一起,使密码的长度,并做到这一点,直到它找到的密码。每次我运行它时,它都会使命令提示符看起来像是Matrix的东西。有什么我做错了吗?
P.S.我正在这样做,看看如何破解密码。我无意窃听别人的帐户。
正如它已经说过,你没有适当地重新设置你的猜测。
此外,这不是你如何破解密码,因为你一遍又一遍地重复相同的猜测。你需要以某种方式去探索所有的可能性,而不是重复自己。
说你的密码长度为4个字母,你可以从aaaa开始,然后是aaab,直到zzzz。你可以用另一种顺序,随机的顺序来做,但你应该只测试一次。
如果你对密码一无所知,按字母顺序排列就像随机发送一样有效,我想! – 7raiden7
其实两者都不是最好的。破解工具使用基于统计的方法来定义最可能首先找到密码的顺序。 – Michel
你会怎么做? (系统的方式) – RugbugRedfern
你永远不会重置“猜测”,所以它只是越来越大。
from random import *
guess = ""
password = input("Password: ")
letters = ["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"]
while (guess != password):
guess = ""
for letter in password:
guessletter = letters[randint(0, 25)]
guess = str(guessletter) + str(guess)
print(guess)
print("Password guessed!")
input("")
什么时候密码的大小不知道? – Lumo5
您正在打印所有猜测,因为'print(guess)'在while循环中。如果你不想这样做,不要打印所有的猜测。 –
但是,所有的猜测都不是密码的长度,即使只有3个字母,也不能猜出密码。 – RugbugRedfern
我想你想在每个while循环开始时重置你的猜测为空字符串 –