【问题标题】:python caesar cipher brute force decryptingpython 凯撒密码蛮力解密
【发布时间】:2021-01-19 15:25:57
【问题描述】:

我正在为我的 11 年级计算机科学做期末考试,我必须用加密、解密和蛮力制作一个凯撒密码,我完全被蛮力困住了。谁能帮帮我?

【问题讨论】:

  • 我们不会做你的功课。我们很乐意为您提供帮助。你尝试了什么?你在哪里卡住了?
  • 您好,我希望您使用tour 并通过how do I ask 进行必要的更改。展示您迄今为止的研究并在必要时与问题相关的工作始终是一个好习惯,而不是要求社区根据您的要求编写代码。

标签: python caesar-cipher


【解决方案1】:

您可以使用 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

之后,我们要求用户输入一个将被暴力破解的密码。

接下来,我们开始一个 for 循环,它将在 1 和 9 范围内运行。请注意,1 代表密码的最小长度,9 代表密码的最大可能长度。如果您愿意,可以将它们更改为 len(user_passw)

接下来,我们创建一个嵌套的 for 循环,遍历 chars 字符串中的每个字母。

然后我们打印猜测和尝试次数,纯粹用于视觉参考。

接下来,我们检查猜测是否等于密码。如果是,则计算机将其打印给用户并退出循环

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-06-03
    • 2013-02-26
    相关资源
    最近更新 更多