我需要为学校做一些小程序来暴力破解不同类型的密码;我希望创建一个暴力破解python代码,它将运行字母和字母数字密码的每一个可能的组合,并给我密码和破解所需的时间。
我对纯数字密码做了同样的处理,得到了如下结果:
import datetime as dt
Password4 = 123456
def crack_password():
start = dt.datetime.now()
for n in range(1000000):
password_guess = '{0:04d}'.format(n)
if
这就是我的密码。结果是“jjjjjjj”、“tt”、“dddd”、“eeeeeeeee”。如何更改列表理解,以允许函数random.choice对每个单词的每个字母重复?
lista=[random.randint(1,10)*random.choice(string.ascii_letters) for i in range(random.randint(1,10))]
背景
策划人是一个为两个人破译代码的游戏.其中一个玩家是codemaker (Alice),另一个是密码破解者(Bob)。
4x4意味着玩家应该猜出由四个字母组成的长度-4序列(比如RGBY)。隐藏的序列可能有重复的字母,所以总有4^4 = 256的可能性。
在游戏开始时,Alice设置了一个隐藏代码,Bob应该在一定的回合数内正确地猜出这些代码。在每一个回合,Bob提出一个猜测,Alice告诉Bob有多少位置是正确的,有多少字母是正确的,但位置不对。例如,如果隐藏的代码是RRYG,而Bob猜到了BRGY:
Code: R R Y G
Guess: B R