最近简单学习了一下python语言,对模块和库有了一点了解,写个博客作为自己学习的记录。

这次是关于暴力破解excel密码的程序,起因是自己的一个文档忘记密码了,但自己没什么经验,就参照了一些博客的代码,按照自己的思路拼接而成。

首先是打开带密码的excel。

excel = DispatchEx("Excel.Application")  # 启动excel
excel.Visible = False  # 去掉可视化
demo = excel.Workbooks.Open(filename, UpdateLinks=False, ReadOnly=False, Format=None,Password=password)

然后是生成密码字典。

list1 = [chr(i) for i in range(48, 58)]  # 0-9的ASCLL码值
list2 = [chr(i) for i in range(65, 91)]  # A-Z的ASCLL码值
list3 = [chr(i) for i in range(97, 123)]  # a-z的ASCLL码值
newlist = list1+list2+list3 #看情况选择三种中的几种

然后就是尝试破解了。

        for i in product(newlist, repeat=length):  # 开始生成密码result = ''.join(i)password = resultprint('尝试第%d次,密码为%s' % (currentresult,password))try:demo = excel.Workbooks.Open(filename, UpdateLinks=False, ReadOnly=False, Format=None,Password=password)excel.Visible = Truebreak# read_excel_password(filename, password)except:currentresult+=1continue

最后组合一下就可以得到完整代码。

from itertools import product
from win32com.client import DispatchEx
# product作用:将提供的容器中的所有元素排列组合形式按照指定的长度完全列出来
# 1.将数字、字母放入容器中
# 2.指定长度范围
# 3.开始生成“密码”excel = DispatchEx("Excel.Application")  # 启动excel
excel.Visible = False  # 去掉可视化list1 = [chr(i) for i in range(48, 58)]  # 0-9的ASCLL码值
list2 = [chr(i) for i in range(65, 91)]  # A-Z的ASCLL码值
list3 = [chr(i) for i in range(97, 123)]  # a-z的ASCLL码值
newlist = list1
print(newlist)# 指定长度范围
currentresult=1
if __name__ == '__main__':filename = "此处是文件路径"for length in range(4, 8):# product(字符串容器,repeat=长度)for i in product(newlist, repeat=length):  # 开始生成密码result = ''.join(i)password = resultprint('尝试第%d次,密码为%s' % (currentresult,password))try:demo = excel.Workbooks.Open(filename, UpdateLinks=False, ReadOnly=False, Format=None,Password=password)excel.Visible = Truebreakexcept:currentresult+=1continuebreak

自己尝试后才发现暴力破解其实根本行不通,因为自己的电脑只能做到每秒尝试20次左右,而三位数的组合就近万种,不过这也算是一次很不错的尝试。

python的对文档密码的简单破解相关推荐

  1. python读取word文档并做简单的批量文档筛选

    python读取word文档并做简单的批量文档筛选 最近参与了一项解析大量的word文档(试验报告形式)的工作,因为其中包含着一些对项目无意义的报告,所以要进行初步地筛选,通过查阅资料发现了pytho ...

  2. python书籍pdf文档密码-Python玩转PDF的各种骚操作

    Portable Document Format(可移植文档格式),或者PDF是一种文件格式,可以用于跨操作系统的呈现和文档交换.尽管PDF最初是由Adobe发明的,但它现在是由国际标准化组织(ISO ...

  3. python获取word页数_使用Python的word文档的页数(Number of pages of a word document with Python)...

    使用Python的word文档的页数(Number of pages of a word document with Python) 有没有办法用Python有效地获得word文档(.doc,.doc ...

  4. Python读取PDF文档(或TXT)

    字符串在Python内部的表示是Unicode编码,首先我们来认识Python中encode()和decode()的作用与区别: 在做编码转换时,通常需要以unicode作为中间编码,即先将其他编码的 ...

  5. python生成word文档的表格_2018-10-04 [日常]用Python读取word文档中的表格并比较

    演示如下. 两个简单的word文档, 各有一个表格: 读取文档中的表格到列表(为演示只对单列表格操作): import docx def 取表格(文件名): 文件 = docx.Document(文件 ...

  6. python中的文档字符串(docString)

    python中的文档字符串(docString) - 泥土 - 博客园 python中的文档字符串(docString) Posted on 2009-02-19 15:27 泥土 阅读(2122) ...

  7. python如何读取公共盘的文档_如何使用 Sphinx 给 Python 代码写文档 | Linux 中国

    最好将文档作为开发过程的一部分.Sphinx 加上 Tox,让文档可以轻松书写,并且外观漂亮.-- Moshe Zadka Python 代码可以在源码中包含文档.这种方式默认依靠 docstring ...

  8. python代码_如何使用 Sphinx 给 Python 代码写文档

    最好将文档作为开发过程的一部分.Sphinx 加上 Tox,让文档可以轻松书写,并且外观漂亮.-- Moshe Zadka(作者) Python 代码可以在源码中包含文档.这种方式默认依靠 docst ...

  9. 去除覆盖在文字上的水印_PDF文档密码移除与文字水印去除工具

    今天给大家推荐一款简单好用.免安装的PDF文档处理软件 PDFdo PDF Converter. 我们可以利用该软件移除PDF文档的密码,但这并非是暴力破解,而是需要先知道密码,然后进行移除. PDF ...

  10. python docx 合并文档 图片_Python+pymupdf处理PDF文档案例6则

    推荐图书:<Python程序设计(第3版)>,(ISBN:978-7-302-55083-9),清华大学出版社,2020年6月第1次印刷,7月第2次印刷 京东购买链接:https://it ...

最新文章

  1. tp5实现Redis的简单使用
  2. php 插入2个数组,用PHP将2个数组插入mysql
  3. 如何在Java中编写正确的微基准测试?
  4. python实现struct_Python实现结构体代码实例
  5. Moving stones(暴力+思维)
  6. 潮流海报模板|2021渐变流体必备
  7. 就你赚的那点钱,我们家哪里有能力请护工?
  8. 30年历史回顾,Jeff Dean:我们整理了一份「稀疏专家模型」研究综述
  9. 设计师出差必备的5款移动端设计软件
  10. 在VM虚拟机下安装win7系统
  11. Java岗大厂面试百日冲刺 - 日积月累,每日三题【Day37】—— 并发编程3
  12. python爬取王者荣耀英雄素材图案例
  13. 响应对象转json时属性名大小写问题完美解决
  14. 新手入门linux必看
  15. 行业内口碑好值得信赖的短网址,让你不再选择恐惧
  16. fib函数用python编写求第n项_深市收盘价如何确定
  17. (三)学习目标检测的第3个月
  18. 企业要实现用计算机完成存货管理,《会计信息系统》习题含答案
  19. PM_21 项目组合管理(了解)、25 量化的项目管理(了解)
  20. 瑞士名表精美动态屏保大集合、提供截图及下载地址!

热门文章

  1. 网页鼠标点击特效代码
  2. android 获取系统是否允许自动旋转屏幕
  3. Grunt 的简单使用
  4. 整理了上千个Python类库,简直太酷啦!
  5. 中望CAD2019注册机|中望CAD2019注册破解补丁 下载
  6. Android Material 常用组件详解(七)—— BottomNavigationView 使用详解
  7. Mac上一款简单实用音频剪辑工具——QuickTime Player
  8. JAVA代码生成器源码-基于SSM架构
  9. [11g](ALTER SYSTEM SUSPEND)Suspending and Resuming a Database
  10. 苹果wifi网速慢怎么办_无线WiFi满格网速却很慢怎么办 如何提升网速【详解】