2023年5月19日 星期五

關於國中資訊科技-加密的補充教材-pdf 加密


        由於在資訊科技課程裡,提到[加密]與[解密]。希望讓學生能夠實作[pdf加密]與[pdf解密],那要如何實作?
        目前實作的方式,則是利用Word轉PDF,在PDF上加密。如下圖:
以Word2010為例:
        此時,加密的長度會是6~32位元。那在學生解密時,會花較多時間解密。當密碼長度越長時,解密所花的時間就越長。目前在一節課的時間內,讓學生能夠完成加密與解密。所以,希望pdf 加密的密碼長度能夠限制在四位數以內。因此,需要利用Python程式對pdf加密。
        在資料來源1.,提供一個加密python程式。在Python編譯過程中,會出現錯誤訊息。其中錯誤原因是套件PyPDF2的版本須限制在3.0.0(含)以內。因此,安裝套件PyPDF2 版本為2.9.0。整個過程步驟如下:
1.安裝套件:pip install pypdf2==2.9.0
2.程式碼與需加密的PDF放置位置:
重要:程式碼與需加密的PDF須放置同一位置。
以自己的電腦為例:
或是


3.完整程式碼如下:
需加密的PDF檔名:test.pdf
程式碼檔名:PdfEnCryption01.py
程式碼內容:
from PyPDF2 import PdfFileWriter, PdfFileReader
path = 'test.pdf' # 這裡填寫目標 PDF 所在的路徑

pdf_reader = PdfFileReader('test.pdf')
pdf_writer = PdfFileWriter()

for page in range(pdf_reader.getNumPages()):
    pdf_writer.addPage(pdf_reader.getPage(page))
pdf_writer.encrypt('a123') # 設置密碼為 a123
with open('test.pdf', 'wb') as out:
    pdf_writer.write(out)


資料來源:


沒有留言:

張貼留言

30分鐘 docker 入門筆記

        課程內容: 一.基本概念 二.安裝配置 三.常用命令 四.構建鏡像 五.運行容器 六.Docker Compose & Kubernetes Docker 簡介:         Docker 是一個用於構建(build)、運行(run)、傳送(share...