This is 何?
Pythonで暗号化処理を取り入れる際にpycryptoを採用してしくじっちゃったよっていう忘備録
別環境で動かない
ローカルで動いていたpycryptoを他環境にpip install
した際に動かなかった。
なぜ?
pycryptoは2013年にサポートが終了していて現在はpycryptoをforkして作られたpycryptodomeというパッケージが推奨されているらしい(pycryptoからforkして作られているので互換性はあると...思う)
解決策
2通りあります
pycryptoをpycryptodomeに置き換えたい
$ pip install pycryptodome
import先がCrypto
パッケージになり、pycryptoをinstallしていた場合pycryptodomeと混在して危ないですよって公式アナウンスされていますね(pycryptoもCryptoパッケージをimportするため)。
検証してませんが事前にpip uninstall pycrypto
しておけば大丈夫なのかな?
pycryptoをinstallしていない状態であれば基本こっちでいいと思います。
pycryptoとpycryptodomeを共存させたい
$ pip install pycryptodomex
import先がCryptodome
になりpycryptoとpycryptodomeが共存できます。
反省
パッケージの最終バージョンの日付を確認するのって大事なんだなぁと身にしみました(小並感)。