硬體加密快於軟體加密
編譯加密快於指令碼加密
所以基於硬體不可能,指令碼又太慢的情況下,我們就開始用c語言寫python的模組擴充套件
寫的方法網上有很多,我就不一一贅述了
主要想實現的功能就是通過python向模組中傳入乙個字串和乙個金鑰
然後解密的時候再根據金鑰解密,我採用的aes是256bit的金鑰。。。也是最大金鑰長度
初始金鑰長32bit
,每次加密的明文長16bit
,然後我們開始
選擇aes的時候我看了python著名的加密庫pycrypto
的源**,按理來說,使用這個現成的庫會方便很多,但是,這個庫並不在pip
中,所有安裝配置也是比較麻煩,所有我就想寫乙個python的模組擴充套件,直接從本地中匯入模組,這樣配置的時候只要這個擴充套件.so
檔案在同乙個目錄下,就可以正常工作了。
然後選擇256bit的加密強度是考慮到工程的向後發展,畢竟現在aes也是有有效的攻擊手段了,所有只好選用最強的加密方式。
然後我也看了很著名的aes開源專案
tiny-aes128-c
但是他的加密強度只達到了128bit,所有也不能用
最後選擇了乙個寫的比較好的aes演算法這裡是作者的github
aes-256
然後我改了一下形成python的擴充套件模組
其中的難點就是python模組的傳入資料只能是int
,或者string
再或者其他什麼鬼型別,就是沒有陣列
然後我們就只好通過python向模組中傳入字串==,再通過c**的處理,填入陣列中計算加密
然後這個處理有點變扭,也是學藝不精吧,我先是寫入乙個檔案中,再從檔案的stream流中一位元組一位元組讀取,然後填入陣列中
然後就是正常的加密解密
python-aes-module
python擴充套件模組開發
python.h檔案 此檔案是python c api的入口檔案,所有api都包含在此檔案裡面 py 和 py python c api的方法與變數字首,在 中盡量不要使用此字首,避免混亂 pyobject python物件,包含引用計數與物件指標,所以的輸入輸出都通過此物件 bool 布林型別,c...
python擴充套件模組 Cython
python 可以直接呼叫c模組。這些c模組可以是通用的c庫或專門為python工作的庫。cython生成第二種型別的模組 與python內部對話的c庫,可以與現有的python 繫結在一起。通過使用cython可以加速python程式。cython檔案字尾為 pyx 作為新手,我是通過anacon...
python及拓展版 python擴充套件模組
一 擴充套件模組 影像擴充套件模組 pil 單獨安裝 影像擴充套件模組需 安裝pil v1.16 與python 版本對應 安裝完畢後呼叫方式為 import image 注意首字母大寫!注意路徑字串的處理 row,col im.size 獲取影像的尺寸 聲音引擎 pytts 擴充套件模組 單獨安裝...