暴力破解密码b

2024-06-26 12:45:12 发布

您现在位置:Python中文网/ 问答频道 /正文

通过读取此文件创建字串列表。然后循环该列表中的每个单词,将其传递给decrypt()方法。如果下一个程序的密码是错误的,则返回的密码应该是0。如果decrypt()返回1,那么您的程序应该跳出循环并打印出被黑客攻击的密码。你应该试试每个单词的大写和小写形式。 这个字典.txt文件包含大写字母的单词。在

> import PyPDF2

pdfFile = open('reverse.pdf', 'rb')
pdfReader = PyPDF2.PdfFileReader(pdfFile)
pdfWriter = PyPDF2.PdfFileWriter()
for pageNum in range(pdfReader.numPages):
    pdfWriter.addPage(pdfReader.getPage(pageNum))
wrd = input('Please enter one word as a password: ')
pdfWriter.encrypt(wrd)
resultPdf = open('encryptedreverse.pdf', 'wb')
pdfWriter.write(resultPdf)
resultPdf.close()
print(pdfReader.isEncrypted)

helloDict = open('dictionary.txt')
helloDictCont = helloDict.read().splitlines()

liDict = []
for word in helloDictCont:
    liDict.extend(word.split())

PdfFile2 = open('encryptedreverse.pdf', 'rb')
pdfReader2 = PyPDF2.PdfFileReader(PdfFile2)
print(pdfReader2.isEncrypted)

for word in liDict:
    if pdfReader2.decrypt(word) == 1:
        break
        print(word)
    elif pdfReader2.decrypt(word.lower()) == 1:
        break
        print(word)

几分钟后处理结束,我既不打印密码也不解密pdf文件。你知道我做错什么了吗?在


Tags: in密码forpdfopen单词wordprint
1条回答
网友
1楼 · 发布于 2024-06-26 12:45:12

这对我来说很好:

import PyPDF2

pdfFile = open('reverse.pdf', 'rb')
pdfReader = PyPDF2.PdfFileReader(pdfFile)
pdfWriter = PyPDF2.PdfFileWriter()
for pageNum in range(pdfReader.numPages):
    pdfWriter.addPage(pdfReader.getPage(pageNum))
wrd = input('Please enter one word as a password: ')
pdfWriter.encrypt(wrd)
resultPdf = open('encryptedreverse.pdf', 'wb')
pdfWriter.write(resultPdf)
resultPdf.close()
print(pdfReader.isEncrypted)

helloDict = open('t.txt')
helloDictCont = helloDict.read().splitlines()

liDict = []
for word in helloDictCont:
    liDict.extend(word.split())

PdfFile2 = open('encryptedreverse.pdf', 'rb')
pdfReader2 = PyPDF2.PdfFileReader(PdfFile2)
print(pdfReader2.isEncrypted)

for word in liDict:
    if pdfReader2.decrypt(word) == 1:
        print('The correct PWD as upper case: ' + word)
        break
    elif pdfReader2.decrypt(word.lower()) == 1:
        print('The correct PWD as lower case: ' + word)
        break
    else:
        print('PWD is not correct: ' + word)

相关问题 更多 >