1. 程式人生 > >Python3 學習加解密 系列 5 --RSA

Python3 學習加解密 系列 5 --RSA

老方法先進原始碼 看 有哪些功能:
在這裡插入圖片描述

看help() 有點懵,直接 看官方文件 https://stuvel.eu/python-rsa-doc/
官網說 可以通過 OpenSSL 建立這些 更快,

  1. 首先建立金鑰對,公鑰和私鑰
    第一種 直接建立,
    ,注意檔案必須按照pem格式來 在這裡插入圖片描述
    載入金鑰檔案 解密:
    在這裡插入圖片描述

也可以 通過 rsa.PublicKey(rsa_n, rsa_e) 建立 公鑰和私鑰
ps:補充一點:爬蟲中RSA一般會有一個pubkey,一個n,一個e 應該這樣加密:

在這裡插入圖片描述

根據 n,e,d,p,q 建立 私鑰 並解密:
在這裡插入圖片描述

接著直接上
在這裡插入圖片描述

官網中也說了,RSA只能夠加密比金鑰小的訊息。

順著看到 sign() 加上簽名的函式,https://stuvel.eu/python-rsa-doc/usage.html#generating-keys
也可以不用看官網,直接 print(help(rsa.sign)) 和 rsa.verify 也行
如何加上簽名並驗證 返回 True or False

這裡注意一點,如果私鑰太小而不能包含請求的雜湊 會 溢位 錯誤。。
在這裡插入圖片描述

官網 也人性化的 考慮了一種場景: 當你需要把 大型檔案 加密傳送時,可使用RSA 加密 隨機的AES的key 隨著檔案一起傳送過去。

在這裡插入圖片描述

當然 我只 過了 如何使用 的 第五步,還有如下幾步 ,等有需求時,再去學習 畢竟人生苦短。。。

6 命令列介面
7 標準的相容性
7.1與OpenSSL的互操作性
7.2互操作性與PKCS # 8
8 參考
8.1。功能
8.2。類
8.3。異常
8.4。模組:rsa.core

PS:https://blog.csdn.net/wm_1991/article/details/51954565 講原理
做個小筆記:
在這裡插入圖片描述

由於 個人需求原因,利用 n,e,d 匯出 私鑰 pem檔案:
在這裡插入圖片描述
在這裡插入圖片描述

**(反正根據我遇到的情況還會繼續增加)… 未完待續 **