delphi與python混合程式設計實現資料加密

2022-03-16 19:41:29 字數 845 閱讀 6733

某個專案需要實現資料加密上傳,主程式擬採用delphi7實現,其中的資料加密採用rsa,cipher_pkcs1_v1_5加密。

該加密在python中容易實現,且已經有現成的加密函式。

如果在delphi中重新實現該演算法,由於無現成的庫可用,需要自己編寫,比較麻煩且結果不一定正確。

因此,delphi程式如何能借用已有的python演算法成為乙個現實問題。

首先,python原始碼在現場執行不現實,因為在現場電腦上安裝python執行環境會面臨不確定性。因此,首先否定執行python原始碼的想法。

其次,採用 python4delphi?感覺不好,存在隱患:涉及python版本、p4d版本,python依賴庫、unicode等。對當前delphi ide環境也有破壞。

再次,既然不能執行python原始碼,那麼能否將python原始碼編譯為exe程式呢?答案是肯定的,採用pyinstaller就行。

因此,確定架構為delphi exe程式(以下簡稱de程式)呼叫python exe程式(以下簡稱pe程式)

那麼de程式如何呼叫pe程式呢?

很明顯的一種方式是 de採用winexec函式,呼叫pe,傳入待加密字串,返回加密結果

但此法的缺點很明顯,如

因此,很自然地想到採用udp通訊方式。好處也是顯而易見的,

下圖中server.exe**於server.py**,由pyinstaller編譯為windows exe檔案。

delphi程式請求加密,server.exe收到資料後將其加密後返回,delphi程式將密文顯示在右側列表框。

python使用ctypes與C混合程式設計

python作為膠水,可以非常方便地和其他語言進行混合程式設計,當然和c混合程式設計的方式也有很多種,如使用cyptes cython boost swig等等。使用混合程式設計的好處在於可以理由各個語言優勢,完成整個功能,如c語言的效率就明顯高於python語言。ctypes的方式,主要流程是將c...

色光混合與匹配

人眼僅能分辨顏色在三個方面的不同 色調 明度及飽和度 兩種色光刺激的混合,其中一種刺激連續變化,另一種保持不變,混合的顏色也是連續變化的 在顏色混合中,相同的顏色 色調 明度 飽和度相同 產生相同的效果,而與其光譜組成無關 色光混合符合加法定理 顏色刺激a 匹配 顏色刺激b,顏色刺激c 匹配 顏色刺...

zz使用 Python 分離中文與英文的混合字串

liyanruiposted 大約 1 年前 in 程式設計 with tags python 614 閱讀 這個問題是做 mkiv 預處理程式 時搞定的,就是把乙個混合了中英文混合字串分離為英文與中文的子字串,譬如,將 我的 english 學的不好 分離為 我的 english 與 學的不好 三...