Software-Installation

為什麼 PyCrypto 需要 C 編譯器?

  • February 18, 2015

是否有一個 python 加密庫不依賴於 python 之外的任何東西?或者為 Linux 預編譯的 PyCrypto 包?

密碼學涉及密集的數值計算,當用 C 等低級語言實現並編譯為機器程式碼時,比用 Python 等高級語言實現並作為解釋字節碼執行時要快得多。這就是為什麼您應該期望任何提供基本加密原語的庫至少部分用 C(甚至彙程式序)編寫。

但是,Python 確實包含一些加密原語:hashlibandhmac模組提供最常見的摘要算法(MD5、SHA-1、SHA-2)和相應的 HMAC 算法。

此外,Python 具有內置的任意精度整數運算,允許在純 Python 中有效地實現一些非對稱算法(至少是簽名和驗證,不一定是密鑰生成)。Python-RSA ( rsa) 是 RSA PKCS#1 1.5 的純 Python 實現。

Python 不附帶任何加密算法(尤其是 AES),因為加密程式碼的分發在世界許多地方受到法律限制。官方推薦的外部庫是PyCrypto

你應該安裝 PyCrypto。如果不是出於法律限制,它將在標準庫中。大多數發行版都包含 Pycrypto 包。如果你沒有(我不熟悉 Levinux),你需要安裝 gcc。如果您的發行版缺少 gcc(或在更完整的系統上輕鬆編譯軟體包的交叉編譯系統),那麼它不適合嚴肅的工作。

引用自:https://unix.stackexchange.com/questions/126486