2024-06-01 05:05:37 发布
网友
我正在为我的11年级计算机科学做期末考试,我必须用加密、解密和蛮力制作一个凯撒密码,我完全被蛮力困住了。有人能帮我吗
您可以使用itertools模块为每个组合进行循环。我会这样做:
import itertools import string import sys chars = string.ascii_lowercase + string.ascii_uppercase + string.digits user_passw = input("Enter Your Password: ") attempts = 0 for password_length in range(1, 9): for guess in itertools.product(chars, repeat=password_length): guess = ''.join(guess) attempts += 1 print(guess, attempts) if guess == user_passw: print('Password Is {}'.format(guess)) sys.exit()
基本上,我们首先定义可以在暴力中使用的所有角色。为此,我们使用字符串模块创建一个大字符串,其中包含我们将使用的每个名为chars的字符
chars
之后,我们要求用户输入一个将被强制使用的密码
接下来,我们开始一个for循环,该循环将在范围1和9内运行。请注意,1表示密码的最小长度,9表示密码的最大可能长度。如果愿意,可以将它们更改为len(user_passw)
len(user_passw)
接下来,我们创建一个嵌套的for循环,该循环遍历chars字符串中的每个字母
然后,我们打印猜测和尝试次数,纯粹是为了视觉参考
接下来,我们检查猜测是否等于密码。如果是,则计算机将其打印给用户并退出循环
您可以使用itertools模块为每个组合进行循环。我会这样做:
基本上,我们首先定义可以在暴力中使用的所有角色。为此,我们使用字符串模块创建一个大字符串,其中包含我们将使用的每个名为
chars
的字符之后,我们要求用户输入一个将被强制使用的密码
接下来,我们开始一个for循环,该循环将在范围1和9内运行。请注意,1表示密码的最小长度,9表示密码的最大可能长度。如果愿意,可以将它们更改为
len(user_passw)
接下来,我们创建一个嵌套的for循环,该循环遍历
chars
字符串中的每个字母然后,我们打印猜测和尝试次数,纯粹是为了视觉参考
接下来,我们检查猜测是否等于密码。如果是,则计算机将其打印给用户并退出循环
相关问题 更多 >
编程相关推荐