1. 程式人生 > >Python學習筆記(十一)——處理PDF密碼破解

Python學習筆記(十一)——處理PDF密碼破解

#! python3
#UnlockPDF.py - 
#Usage:
#
#Author : qmeng
#MailTo : [email protected]
#QQ     : 1163306125
#Blog   : http://blog.csdn.net/Mq_Go/
#Create : 2018-02-11 11:02:32
#Version: 1.0
#
import PyPDF2
import sys

pdfReader = PyPDF2.PdfFileReader(open('encrypted.pdf','rb'))
if pdfReader.isEncrypted:
    #開始破解密碼
print('嘗試破解密碼...') #獲取密碼字典 File = open('dictionary.txt') sfile = File.read() dic = sfile.split('\n') num = len(dic) for i in range(num): print('第 '+str(i) +' 次嘗試... ',end=' ') if pdfReader.decrypt(dic[i]): print('破解成功,密碼是 ' + dic[i] + '...'
) #進入PDF print('PDF有 '+ str(pdfReader.numPages) + '...') print('內容摘要') pageObj = pdfReader.getPage(0) print(pageObj.extractText()) break temp = dic[i].lower() if pdfReader.decrypt(temp): print('破解成功,密碼是 '
+ temp + '...') #進入PDF print('PDF有 '+ str(pdfReader.numPages) + '...') print('內容摘要') pageObj = pdfReader.getPage(0) print(pageObj.extractText()) break print('失敗') print('程式關閉...') sys.exit()

相關推薦

Python學習筆記——處理PDF密碼破解

#! python3 #UnlockPDF.py - #Usage: # #Author : qmeng #MailTo : [email protected] #QQ : 1163306125 #Blog : http://blog.c

Python學習筆記裝飾器

before 原來 return wrap 文本 wiki 模塊 http 學習筆記 摘抄:https://www.liaoxuefeng.com/wiki/0014316089557264a6b348958f449949df42a6d3a2e542c000/0014318

Python學習筆記

def __init__ 實現 完成 cti uniq ive 枚舉 elf 一、Python的多重繼承功能   Python中的主線是單一繼承的   Python中可以存在功能類,即專註於完成一定功能的類,相當於其他一些動態語言中的接口的概念   class Class_

python學習筆記之函數

last 函數返回 traceback keep disco show 全局變量 not 默認參數 牛刀小試:   定義一個無參函數 1 >>> def myFirstFunc(): 2 ... print("Hello python

Python學習筆記關鍵字、函式和方法

關鍵字是 Python內建的、具有特殊意義的識別符號            關鍵字後面不需要使用括號   函式封裝了獨立功能,可以直接呼叫        

Python學習筆記關鍵字、函數和方法

python 選擇 使用 通過 標識 很多 div 方法 針對 關鍵字是 Python內置的、具有特殊意義的標識符 關鍵字後面不需要使用括號 函數封裝了獨立功能,可以直接調用 函數名(參數)

Python學習筆記Python函式

以Mark Lutz著的《Python學習手冊》為教程,每天花1個小時左右時間學習,爭取兩週完成。 --- 寫在前面的話 2013-7-21 22:00 學習筆記 1,def是Python中的一個可執行語句——函式並不存在,直到Python運行了def後才存

python學習筆記異常處理

關鍵字 .exe strip support 異常 解析器 輸入 rod () python解析器去執行程序,檢測到了一個錯誤時,觸發異常,異常觸發後且沒被處理的情況下,程序就在當前異常處終止,後面的代碼不會運行,所以你必須提供一種異常處理機制來增強你程序的健壯性與容錯性

python基礎教程第三版)學習筆記

第十一章 檔案 11.1 開啟檔案 要開啟檔案,可使用函式open,它位於自動匯入的模組io中。函式open將檔名作為唯一必不可少的引數,並返回一個檔案物件。 from contextlib import contextmanager import sys,pprint f=open('xx.

嵌入式核心及驅動開發之學習筆記 中斷優化處理

ARM cortex-A系列的核心不支援中斷巢狀。在核心中斷函式中,如果中斷處理時間過長,產生中斷巢狀,重者系統崩潰,輕者也會影響其他事件處理。這也是中斷中不能使用延時函式的原因。 但是有些高實時性裝置(比如網絡卡),就是需要處理大量的業務。為了滿足中斷處理時間儘量短的原則

Python學習筆記 使用模塊

常見 永遠 命令行 效果 學習筆記 例如 style name hello 摘抄:https://www.liaoxuefeng.com/wiki/0014316089557264a6b348958f449949df42a6d3a2e542c000/001431845183

Python學習筆記Python獲取本地數據

cname lin txt .py ora 系統 筆記 緩沖 log f1 = open(r‘E:\Python\Data\data1.txt‘) #讀取data1.txt文件,使用系統默認緩沖區大小, 為了讀取快點,使用緩存吧!

Python學習筆記拓展庫Scipy

mage http 十六 .cn 學習筆記 eight -1 images 分享 Python學習筆記(十六)拓展庫Scipy

Python學習筆記@property

assert value 復雜 blog 只讀 self %d idt 學習 # [email protected]/* */, # 以及一個只讀屬性resolution: # -*- coding: utf-8 -*- class Screen(

如鵬網學習筆記JQuery

on() jquery操作 等於 asc 空字符串 name屬性 string 包含 ret 一、jQuery簡介   jQuery是一個JavaScript庫,特性豐富,包含若幹對象和很多函數,可以替代傳統DOM編程的操作方式和操作風格   jQuery通過對DOM

Python學習筆記

check target 哈哈 方法 多個 multi 定義 輸出 poll 一、進程與線程   一個操作系統可以有多個進程  一個進程可以有多個線程,且必須有一個線程 二、多進程   from multiprocessing import Process  import

Python學習筆記

插入 imp 集合類 屬性 counter 以及 雙向 ror 簡單的 一、collections介紹   collections是Python中內建的一個集合模塊,提供了許多有用的集合類 二、namedtuple   namedtuple是一個函數,用來創建一個類似類的自

Python學習筆記

一個 模式 時間模塊 dal 同名 學習 日期時間 mda dst 一、datetime簡介   datetime是Python處理日期和時間的標準庫 二、導入datetime日期時間處理標準庫   # datetime是日期時間模塊,其中包括一個同名的日期時間類  fro

EF學習筆記:實施繼承

long cannot oid data- turn cati com list pac 學習總目錄:ASP.NET MVC5 及 EF6 學習筆記 - (目錄整理) 上篇鏈接:EF學習筆記(十) 處理並發 本篇原文鏈接:Implementing Inheritance 面

R語言學習筆記:廣義線性模型

學習筆記 Education 5.0 1.3 style only 可能性 div erro #Logistic 回歸 install.packages("AER") data(Affairs,package="AER") summary(Affairs) a