欧美阿v视频在线大全_亚洲欧美中文日韩V在线观看_www性欧美日韩欧美91_亚洲欧美日韩久久精品

主頁 > 知識庫 > Python加密word文檔詳解

Python加密word文檔詳解

熱門標簽:ai電話機器人哪里好 宿遷星美防封電銷卡 地圖標注審核表 外呼并發線路 西藏房產智能外呼系統要多少錢 長沙高頻外呼系統原理是什么 百度地圖標注沒有了 ai電銷機器人源碼 湛江智能外呼系統廠家

Python加密word文檔

我們先了解一下異或是什么。簡單來說,如果a、b兩個值不相同,則異或結果為1。如果a、b兩個值相同,異或結果為0。我們簡單的梳理一下代碼思路。代碼分為兩部分,加密和解密。

1.加密

把文件轉換成二進制的格式,然后生成等長的隨機密鑰進行異或操作,得到加密后的二進制文件。這一步我們需要保留的數據有,加密后的文件和隨機生成的密鑰,當然他們都是一些二進制數。

2.解密

這一步就簡單了,我們把加密后的文件和之前隨機生成的密鑰再進行一次異或操作,即可得到原本的二進制數,然后我們再把它轉換成文本即可。

OK,思路大致明了了,我們需要兩個程序,加密程序接收str參數 ,運行完成會輸出加密后的二進制word文檔,和用于解密的二進制密鑰。解密程序則需要接收兩個int參數,分別為加密程序輸出的兩個二進制內容,異或之后輸出原始文本。那么,上代碼。

加密代碼:

from secrets import token_bytes
from docx import Document
import docx
import time
​
def random_key(length):
    # token_bytes,函數接受一個int參數,用于指定隨機字節串的長度。
    # int.from_bytes把字節串轉換為int,也就是我們需要的二進制數
    key = token_bytes(nbytes=length)
    key_int = int.from_bytes(key, 'big')
    return key_int
​
def encrypt(raw):
    raw_bytes = raw.encode()
    #參數big意為正序,little則輸出反序。
    raw_int = int.from_bytes(raw_bytes, 'big')
    key_int = random_key(len(raw_bytes))
    return raw_int ^ key_int, key_int
​
def decrypt(encrypted, key_int):
    decrypted = encrypted ^ key_int
    length = (decrypted.bit_length() + 7) // 8
    decrypted_bytes = int.to_bytes(decrypted, length, 'big')
    return decrypted_bytes.decode()
​
def encrypt_file(path, key_path=None,):
    document = Document(path)
    all_paragraphs = document.paragraphs
    file = docx.Document()
    file2 = docx.Document()
​
    jkl = input('請輸入希望保存的文件名:') + '.docx'
​
    for paragraph in all_paragraphs:
        # 打印每一個段落的文字
        zz,key = encrypt(paragraph.text)
​
        #print('加密:',zz)
        #print('key:', key)
​
        file.add_paragraph(str(zz))
        file.save(jkl)
​
        file2.add_paragraph(str(key))
        file2.save("key.docx")
​
print('滑稽研究所出品!')
print('僅支持英文文件名。')
chenggong = encrypt_file(input('請輸入需要加密的文件名:'))
print("已完成!十秒后自動關閉")
time.sleep(10)
#生成加密文件

通過 encode 方法,將字符串編碼成字節串。int.from_bytes 函數將字節串轉換為 int 對象。最后對二進制對象和隨機密鑰進行異或操作,就得到了加密文本。

解密代碼:

from secrets import token_bytes
from docx import Document
import docx
import time
​
def random_key(length):
    # token_bytes,函數接受一個int參數,用于指定隨機字節串的長度。
    # int.from_bytes把字節串轉換為int,也就是我們需要的二進制數
    key = token_bytes(nbytes=length)
    key_int = int.from_bytes(key, 'big')
    return key_int
​
def encrypt(raw):
    raw_bytes = raw.encode()
    raw_int = int.from_bytes(raw_bytes, 'big')
    key_int = random_key(len(raw_bytes))
    return raw_int ^ key_int, key_int
​
def decrypt(encrypted, key_int):
    decrypted = encrypted ^ key_int
    length = (decrypted.bit_length() + 7) // 8
    decrypted_bytes = int.to_bytes(decrypted, length, 'big')
    return decrypted_bytes.decode()
​
jjj = []
kkk = []
​
def decrypt_file(path_encrypted, key_path=None, *, encoding='utf-8'):
    document = Document(path_encrypted)
    all_paragraphs = document.paragraphs
​
    do2 = Document('key.docx')
    all_p= do2.paragraphs
​
    for i in all_paragraphs:
        #str轉int
        jiam = int(i.text)
        jjj.append(jiam)
​
        #print('加密:',jiam)
    #print(jjj)
​
    for k in all_p:
        #str轉int
        key = int(k.text)
        kkk.append(key)
​
        #print('key:',key)
    #print(kkk)
​
    cc = zip(jjj,kkk)
    res = list(cc)
    return res
#傳入元組,或兩個int。
print('滑稽研究所出品!')
print('警告,嚴禁修改密鑰文件名!!!')
print('直接輸入文件名,無需格式后綴。')
rr1 = decrypt_file(input("請輸入需要破解文件的文件名(僅限.docx文件):")+'.docx')
​
file = docx.Document()
for i in rr1:
    ff = decrypt(*i)
    #print(ff)
    #print(type(ff))
    file.add_paragraph(ff)
file.save("res.docx")
print('解密完成,請在當前文件夾下提取文件!')
print('十秒后自動關閉!')
time.sleep(10)

我們需要將兩個程序打包成exe。運行加密程序得到的二進制word文檔,可以給其他人,但密鑰必須自己保存。當別人滿足你的要求之后,我們可以把密鑰和解密程序給他。注意,只對docx文件有效,且不可以修改密鑰文件的名稱,不然會報錯,解密失敗。

運行結果:

原始word文件。


加密后:


生成的key密鑰:

加密后的文件和生成的密鑰,放在解密程序文件夾下之后,會得到如下。我們得到了原文件,美中不足的是所有的首行縮進都消失了,變成了左對齊。


同樣的文件,重新加密之后,會得到不同的加密文件和密鑰。因此如果加密文件和密鑰不匹配,即使他們的源文件是一樣的,也是無法解密的。此外密鑰丟失,加密的文件將永遠不能解密。

總結

本篇文章就到這里了,希望能給你帶來幫助,也希望您能夠多多關注腳本之家的更多內容!

您可能感興趣的文章:
  • Python快速優雅的批量修改Word文檔樣式
  • 教你如何利用Python批量翻譯英文Word文檔并保留格式
  • Python實現對word文檔添加密碼去除密碼的示例代碼
  • Python實現Word文檔轉換Markdown的示例
  • python3處理word文檔實例分析

標簽:普洱 大同 漯河 林芝 南平 盤錦 寧夏 海南

巨人網絡通訊聲明:本文標題《Python加密word文檔詳解》,本文關鍵詞  Python,加密,word,文檔,詳解,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《Python加密word文檔詳解》相關的同類信息!
  • 本頁收集關于Python加密word文檔詳解的相關信息資訊供網民參考!
  • 推薦文章
    欧美阿v视频在线大全_亚洲欧美中文日韩V在线观看_www性欧美日韩欧美91_亚洲欧美日韩久久精品
  • <rt id="w000q"><acronym id="w000q"></acronym></rt>
  • <abbr id="w000q"></abbr>
    <rt id="w000q"></rt>
    日韩精品福利网| 精品人妻二区中文字幕| 午夜时刻免费入口| 日韩精品一区二| 日产欧产美韩系列久久99| 亚洲婷婷在线观看| 在线不卡一区二区| 午夜精品久久久久久久| 男人网站在线观看| 欧美久久久久久久久中文字幕| 亚洲国产精品一区二区www在线 | 2023国产精品视频| 麻豆国产精品一区二区三区| 波多野结衣 在线| 欧美成人一区二区三区| 久久99国产精品成人| 日本少妇xxxxx| 国产日韩成人精品| 国产成人在线视频免费播放| 国产成人av免费在线观看| 国产精品久久午夜夜伦鲁鲁| 国产v日产∨综合v精品视频| 国产成人久久久久| 最好看的中文字幕久久| 久久黄色一级视频| 欧美精品国产精品| 欧美一级夜夜爽| 秋霞电影网一区二区| 魔女鞋交玉足榨精调教| 久久久久综合网| 欧美写真视频网站| 亚洲一区日韩精品中文字幕| 精品人妻一区二区三区日产| 日韩免费一区二区| 精品一区二区免费视频| 三级黄色在线观看| 亚洲精品成人天堂一二三| 色综合久久五月| 337p粉嫩大胆色噜噜噜噜亚洲| 国产乱人伦精品一区二区在线观看 | 国产成人av电影免费在线观看| 中文字幕在线有码| 亚洲制服欧美中文字幕中文字幕| 国产老熟女伦老熟妇露脸| 精品国产百合女同互慰| 国产91精品久久久久久久网曝门 | 日韩精品中文字幕一区二区三区| 精品一区二区成人精品| 色综合中文字幕| 亚洲mv大片欧洲mv大片精品| 国产精品久久久视频| 亚洲精品成人少妇| 国产成人无码精品久久二区三| 中文字幕免费观看一区| 日韩精品xxx| 久久婷婷一区二区三区| 91亚洲大成网污www| 日韩精品一区二区三区视频播放 | 久久久久久影视| 99视频在线观看一区三区| 欧美一区二区三区四区久久 | 精品少妇一区二区三区视频免付费 | 黄色国产在线视频| 国产喂奶挤奶一区二区三区| 绯色av蜜臀vs少妇| 久久久美女毛片| 国产欧美视频一区| 国产清纯白嫩初高生在线观看91 | 日韩一区二区免费高清| 成人自拍视频在线观看| 日韩亚洲国产中文字幕欧美| 成人精品免费网站| 日韩欧美高清dvd碟片| 99久久免费国产| 26uuu精品一区二区| 色哟哟免费视频| 国产喷白浆一区二区三区| 欧产日产国产精品98| 亚洲欧美在线视频| 中文字幕成人动漫| 亚洲成av人片在线观看无码| 日本福利片在线观看| 捆绑调教一区二区三区| 欧美日韩一区二区三区视频| 久久99精品久久久久久久久久久久| 欧美在线不卡视频| 国产成人精品免费一区二区| 欧美大胆人体bbbb| 国产ts在线观看| 一区视频在线播放| 成人无码av片在线观看| 爽爽淫人综合网网站| 在线观看日韩国产| 懂色av一区二区三区蜜臀| 2019国产精品| 亚洲色图14p| 亚洲国产日韩a在线播放性色| 91在线播放观看| 国产伦精一区二区三区| 精品国产人成亚洲区| 欧类av怡春院| 亚洲国产色一区| 欧美体内she精高潮| www.99精品| 国产精品视频看| 你懂得视频在线观看| 麻豆91在线播放免费| 欧美一二三四在线| 四虎精品一区二区| 亚洲午夜三级在线| 欧美在线啊v一区| 91亚洲大成网污www| 亚洲色图第一区| 色综合一区二区三区| 丁香一区二区三区| 中文字幕欧美日韩一区| 粉嫩精品久久99综合一区| 久久精品久久99精品久久| 日韩视频在线你懂得| 国产精品久久AV无码| 午夜天堂影视香蕉久久| 欧美男女性生活在线直播观看| 国产精品91av| 亚洲在线视频免费观看| 欧美三级韩国三级日本一级| 无码国产精品久久一区免费| 亚洲精品网站在线观看| 欧美亚洲一区二区三区四区| 91蜜桃传媒精品久久久一区二区| 亚洲欧洲一区二区三区| 色综合视频在线观看| aaa国产一区| 一卡二卡三卡日韩欧美| 欧美日韩成人激情| 催眠调教后宫乱淫校园| 日韩av一级片| 精品捆绑美女sm三区| 丁香花五月婷婷| 国产高清视频一区| 中文字幕一区二区三区在线不卡| 色哟哟精品一区| 91人人澡人人爽| 日日摸夜夜添夜夜添精品视频| 日韩欧美成人午夜| 国产18无套直看片| 国产成人高清在线| 亚洲欧美一区二区不卡| 欧美男男青年gay1069videost| 国产毛片毛片毛片毛片毛片毛片| 另类小说欧美激情| 国产欧美精品日韩区二区麻豆天美| 永久久久久久久| 少妇熟女视频一区二区三区| 日本欧美一区二区| 国产亚洲人成网站| 色综合久久中文综合久久牛| 日韩高清一二三区| 老司机精品视频导航| 国产精品麻豆久久久| 欧美体内she精高潮| 成人免费网站黄| 国产91露脸合集magnet| 亚洲一区二区三区视频在线| 日韩欧美精品在线视频| 三上悠亚作品在线观看| 亚洲911精品成人18网站| 日本vs亚洲vs韩国一区三区二区| 国产亚洲美州欧州综合国| 日本黄色一区二区| 手机在线看片日韩| 国产成人夜色高潮福利影视| 一区2区3区在线看| ww亚洲ww在线观看国产| 色播五月激情综合网| 美国黄色一级毛片| 成人毛片视频在线观看| 日本亚洲视频在线| 国产精品久久毛片| 欧美一级日韩免费不卡| 亚洲一级生活片| 9.1在线观看免费| 国产伦精一区二区三区| 亚洲成人一二三| 国产欧美精品一区二区色综合朱莉 | 天堂在线亚洲视频| 国产精品黄色在线观看| 欧美一级免费大片| 婷婷在线精品视频| av小说在线观看| 94-欧美-setu| 精品伊人久久久久7777人| 亚洲精品高清视频在线观看| 久久综合精品国产一区二区三区| 日本精品免费观看高清观看| 黄色片网站免费| 亚洲成a人无码| 成人午夜伦理影院| 免费国产亚洲视频| 一区二区免费在线| 中文在线免费一区三区高中清不卡 |