python破解密码·筛查和选择

破解密码时可能遇到的几种情况

① 已知密码字符,破排序
② 已知密码位数,破字符
③ 已知密码类型,破字位
④ 已知部分密码,破未知
⑤ 啥都不知道,盲破,玩完
⑥ 已知位数、字符、类型、部分密码中的几个,已知越多破解越易

① 已知密码字符,破排序

python破解字母已知但大小写未知密码

python穷举已知字符串中某个或多个字符为大写的所有情况,并把生成的所有结果写入result.txt

def generate_uppercase_combinations(s, index=0, current='', output_file='result.txt'):if index == len(s):with open(output_file, 'a') as file:file.write(current + '\n')returngenerate_uppercase_combinations(s, index + 1, current + s[index], output_file)if s[index].isalpha() and s[index].islower():generate_uppercase_combinations(s, index + 1, current + s[index].upper(), output_file)# 测试代码
s = "abc"
with open('result.txt', 'w') as file:file.write('')
generate_uppercase_combinations(s)

- - - -
后续 python密码筛查和选择

④ 已知部分密码

用于排除,减少可能的密码

在函数中添加一个条件来检查当前字符串是否以’C’结尾,如果是,则不将其写入到文件中。

# 跳过末尾为'C'的情况
def generate_uppercase_combinations(s, index=0, current='', output_file='result.txt'):if index == len(s):if current[-1] != 'C':  # 检查末尾是否为'C'with open(output_file, 'a') as file:file.write(current + '\n')returngenerate_uppercase_combinations(s, index + 1, current + s[index], output_file)if s[index].isalpha() and s[index].islower():generate_uppercase_combinations(s, index + 1, current + s[index].upper(), output_file)# 测试代码
s = "abc"
with open('result.txt', 'w') as file:file.write('')
generate_uppercase_combinations(s)

s="abcdefgh"已知第3-5位为cde,排除非cde的情况;已知第1-4位不是abdC,排除是abcd的情况;已知第第7-8位是gH,排除非gH的情况。

def generate_uppercase_combinations(s, index=0, current='', output_file='result.txt'):if index == len(s):if current[2:5] == 'cde' and current[0:4] != 'abcd' and current[6:8] == 'gH': # 添加条件限制with open(output_file, 'a') as file:file.write(current + '\n')returngenerate_uppercase_combinations(s, index + 1, current + s[index], output_file)if s[index].isalpha() and s[index].islower():generate_uppercase_combinations(s, index + 1, current + s[index].upper(), output_file)# 测试代码
s = "abcdefgh"
with open('result.txt', 'w') as file:file.write('')
generate_uppercase_combinations(s)

在Python中,字符串的索引是从0开始的,current[-1]表示字符串current的末尾位。

因此,在上面代码中:

  • current[-1]表示current的末尾位。
  • current[7]表示current的第8位的子字符串。
  • current[2:5]表示索引2-4,即current的第3位到第5位的子字符串。
  • current[0:4]表示索引0-3,即current的第1位到第4位的子字符串。
  • current[6:8]表示索引6-7,即current的第7位到第8位的子字符串。

第n位加入特殊符号

. + whitespace etc.

某位有一特殊字符,直接在上述代码的基础上在字符串s相应位置加特殊字符就好了,例如:

def generate_uppercase_combinations(s, index=0, current='', output_file='result.txt'):if index == len(s):with open(output_file, 'a') as file:file.write(current + '\n')returngenerate_uppercase_combinations(s, index + 1, current + s[index], output_file)if s[index].isalpha() and s[index].islower():generate_uppercase_combinations(s, index + 1, current + s[index].upper(), output_file)# 测试代码
s = "a b.c"
with open('result.txt', 'w') as file:file.write('')
generate_uppercase_combinations(s)

将全部行的某几位替换为另几位,同特殊字符。

② 已知密码位数,破字符

python穷举已知位数n=3,每位密码位0-9数字或者字母a,b,c的所有情况,并把生成的所有结果写入result.txt

import itertools# 定义可能的字符集
characters = '0123456789abc'# 生成所有可能的密码组合
combinations = itertools.product(characters, repeat=3)# 将结果写入文件
with open('result.txt', 'w') as file:for combination in combinations:password = ''.join(combination)file.write(password + '\n')

③ 已知密码类型,破字位

已知是数字型密码,位数未知假设为4位以内。
python穷举已知位数0<n<5,每位密码位0-9数字的所有情况,并将结果写入到 result.txt文件中

import itertools# 定义可能的字符集
characters = '0123456789'# 生成所有可能的密码组合
with open('result.txt', 'w') as file:for length in range(1, 5):combinations = itertools.product(characters, repeat=length)for combination in combinations:password = ''.join(combination)file.write(password + '\n')

出现非数字,此时加字母
python穷举已知位数0<n<3,每位密码位0-9数字或者a-z字母的所有情况,并将结果写入到 result.txt文件中
只需要更新字符集和位数范围

import itertools# 定义可能的字符集
characters = '0123456789abcdefghijklmnopqrstuvwxyz'# 生成所有可能的密码组合
with open('result.txt', 'w') as file:for length in range(1, 3):combinations = itertools.product(characters, repeat=length)for combination in combinations:password = ''.join(combination)file.write(password + '\n')

出现非字母非数,此时加中文字符串 仍旧更新字符集和位数范围

历史密码规律及可能出现的排列组合

- - - -

密码位数太多了,只能先排除一部分再慢慢猜测😿
在这里插入图片描述

⑤ 密码未知

啥都不知道/记不清了,毁灭吧,26字母+10数字+特殊符号+可能出现的大概率中文字符,更新字符集和位数范围 枚举所有可能排列

import itertools# 定义可能的字符集
characters = '0123456789abcdefghijklmnopqrstuvwxyz .,-·>?<+/#@!~$%^&*():啊我是'# 生成所有可能的密码组合
with open('result.txt', 'w') as file:for length in range(1, 3):combinations = itertools.product(characters, repeat=length)for combination in combinations:password = ''.join(combination)file.write(password + '\n')

此时可能就需要出现tkinter自动输入破解了 or 自动精灵/鼠标精灵

密码记得备份啊,太难追回了,10位数以上的强密码,忘记了让我去猜,我看得懂密码提示也破不了啊😿

相关 Python解压zip

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/373608.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

AirPods Pro新功能前瞻:iOS 18的五大创新亮点

随着科技的不断进步&#xff0c;苹果公司一直在探索如何通过创新提升用户体验。iOS 18的推出&#xff0c;不仅仅是iPhone的一次系统更新&#xff0c;更是苹果生态链中重要一环——AirPods Pro的一次重大升级。 据悉&#xff0c;iOS 18将为AirPods Pro带来五项新功能&#xff0…

我的FPGA

1.安装quartus 2.更新usb blaster驱动 3.新建工程 1.随便找一个文件夹&#xff0c;里面新建demo文件夹&#xff0c;表示一个个工程 在demo文件夹里面&#xff0c;新建src&#xff08;源码&#xff09;&#xff0c;prj&#xff08;项目&#xff09;&#xff0c;doc&#xff…

mac安装配置cmake

本机是2015 macbook pro mid&#xff0c;已经有点老了&#xff0c;用homebrew下cmake老出问题 其实cmake官网安装也不麻烦 一、官网下载对应安装包 Download CMake 和所有dmg文件一样安装 二、改成命令行使用 一般来说 tutorial 给的都是命令行build 命令行的设置如下&am…

elasticsearch集群模式部署

系统版本&#xff1a;CentOS Linux release 7.9.2009 (Core) es版本&#xff1a; elasticsearch-7.6.2 本次搭建es集群为三个节点 添加启动用户 确保elasticsearch的启动用户为普通用户&#xff0c;这里我创建了es用户用于启动elasticsearch 执行命令为es用户添加sudo权限 v…

牛市中途深度调整,一览下半场值得关注的 Solana 生态五大潜力项目

近期有关加密货币的利空消息让市场行情一度陷入了恐慌之中&#xff0c;短期利空的落地也将伴随着接下来市场的蓄势。对于投资者来说&#xff0c;现在布局超跌潜力项目不失为一个不错的机会。作为本轮牛市值得关注的两大生态&#xff0c;Solana和TON的快速发展和吸金效应&#x…

探索东芝 TCD1304DG 线性图像传感器的功能

主要特性 高灵敏度和低暗电流 TCD1304DG 具有高灵敏度和低暗电流&#xff0c;非常适合需要精确和可靠图像捕捉的应用。传感器包含 3648 个光敏元件&#xff0c;每个元件尺寸为 8 m x 200 m&#xff0c;确保了出色的光灵敏度和分辨率。 电子快门功能 内置的电子快门功能是 T…

重生奇迹mu自带四重箭加穿透的弓

1.烈风射手 烈风射手是自带四重箭加穿透的弓之一。该职业的技能树中有一个叫做“四箭连发”的技能&#xff0c;可以让玩家在一次攻击中发射四支箭矢&#xff0c;每支箭矢都带有穿透效果。 2.影魅猎人 影魅猎人也是自带四重箭加穿透的弓之一。该职业的技能树中有一个叫做“穿…

springboot 旅游导航系统-计算机毕业设计源码69476

目 录 第 1 章 引 言 1.1 选题背景 1.2 研究现状 1.3 论文结构安排 第 2 章 系统的需求分析 2.1 系统可行性分析 2.1.1 技术方面可行性分析 2.1.2 经济方面可行性分析 2.1.3 法律方面可行性分析 2.1.4 操作方面可行性分析 2.2 系统功能需求分析 2.3 系统性需求分析…

linux服务器查询端口运行状态,以及防火墙打开指定端口

一&#xff1a;查询端口状态 在项目部署过程中&#xff0c;我们通常会使用nginx等进行转发操作&#xff0c;因此需要配置一些端口来进行跳转与访问&#xff0c; 1、netstat netstat -tuln | grep port 例如&#xff0c;你要查询8090的运行状态&#xff0c;则输入 netstat -tul…

地下水环评(一级)实践技术及Modflow地下水数值模拟

主要围绕的环评导则&#xff0c;结合不同行业类别&#xff0c;实例讲解地下水环境影响评价的原则、内容、工作程序、方法。包括数据处理分析、数值模型构建以及环评报告编写等。涉及地下水流场绘制软件&#xff08;Surfer&#xff09;的操作流程及数据处理、地下水数值模拟软件…

视频调色的技巧和方法 视频调色的操作步骤 视频调色用什么软件好免费 会声会影下载免费中文版

学会视频调色&#xff0c;就等于掌握了剪辑艺术的密码。视频调色不是为了画面好看&#xff0c;而是通过精心构思的色彩参数&#xff0c;向观众传达作品的情绪和内涵。普通剪辑师与剪辑高手之间的差距&#xff0c;就在于能否领悟视频调色的真谛。 一、视频调色有什么用 掌握混…

Ubuntu22.04.4系统/安装python3.9/pytorch/torchvision【GPU版】

1.安装python3.9 1.1 创建python3.9的虚拟环境 conda create -n QwenChat python3.9 1.2 输入“y” 1.3 创建成功 2.安装pytorch和torchvision 2.1 进入虚拟环境 进入刚刚创建的虚拟环境 conda activate QwenChat 2.2 conda安装 查看cuda的版本 浏览器打开网址PyTorch鼠标往…

Win-ARM联盟的端侧AI技术分析

Win-ARM联盟&#xff0c;端侧AI大幕将起 微软震撼发布全球首款AI定制Windows PC——Copilot PC&#xff0c;搭载全新NPU与重塑的Windows 11系统&#xff0c;纳德拉盛赞其为史上最快、最强、最智能的Windows PC。该设备算力需求高达40TOPS&#xff0c;支持语音翻译、实时绘画、文…

科普文:深入理解负载均衡(四层负载均衡、七层负载均衡)

概叙 网络模型&#xff1a;OSI七层模型、TCP/IP四层模型、现实的五层模型 应用层&#xff1a;对软件提供接口以使程序能使用网络服务&#xff0c;如事务处理程序、文件传送协议和网络管理等。&#xff08;HTTP、Telnet、FTP、SMTP&#xff09; 表示层&#xff1a;程序和网络之…

selenium采集招标网站公告

selenium采集招标网站公告 一、项目介绍二、采集过程三、完整代码一、项目介绍 本次数据采集以某市建设工程交易服务中心数据为例,网址为“http://www.shcpe.cn/jyfw/xxfw/u1ai51.html”,网站首页如下图所示: 采集到的字段如下图所示: 二、采集过程 本次数据采集使用的…

【Linux】多线程_1

文章目录 九、多线程1. 线程概念2. 线程的控制 未完待续 九、多线程 1. 线程概念 我们知道&#xff1a;进程 内核数据结构 进程代码和数据 。那什么是线程呢&#xff1f;线程是进程内部的一个执行分支。一个进程内部可以有多个执行流&#xff08;内核数据结构&#xff09;&…

数据库测试|Elasticsearch和ClickHouse的对决

前言 数据库作为产品架构的重要组成部分&#xff0c;一直是技术人员做产品选型的考虑因素之一。 ClkLog会经常遇到小伙伴问支持兼容哪几种数据库&#xff1f;为什么是选择ClickHouse而不是这个或那个。 由于目前市场上主流的数据库有许多&#xff0c;这次我们选择其中一个比较典…

日本IT工程师的工资水平?一篇带你了解

今天来说下日本IT工程师的工资水平是根据什么来决定的呢&#xff1f; 如何才能提高IT工程师的工资&#xff1f; 首先&#xff0c;这里分享一个日本经济产业部门的最新调查数据&#xff0c;希望对小伙伴们有所帮助。 &#xff08;引用&#xff09; レベル&#xff11; 新人・初…

从零开始搭建vite开发环境

准备 nodejs 18 pnpm https://vitejs.cn/ 开始 pnpm init pnpm add -D vite新建index.html <!DOCTYPE html> <html lang"zh"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width…

ArcGis将同一图层的多个面要素合并为一个面要素

这里写自定义目录标题 1.加载面要素的shp数据 2.点击菜单栏的地理处理–融合&#xff0c;如下所示&#xff1a; 3.将shp面要素输入&#xff0c;并设置输出&#xff0c;点击确定即可合并。合并后的属性表就只有一个数据了。