问题一:/usr/local/python27/lib/python2.7/site-packages/Crypto/Util/number.py:57: PowmInsecureWarning: Not using mpz_powm_sec. You should rebuild using libgmp >= 5 to avoid timing attack vulnerability.
解决方法:
首先这不算是一个报错信息,而是一个安全提示信息,是说系统自带的gmp库版本太低,容易遭受***,需要升级:
为此,我们必须从https://gmplib.org/download/gmp/gmp-6.1.2.tar.xz下载源代码
一、根据软件包的说明:
yum -y groupinstall "Development tools" yum -y install gcc libgcc glibc libffi-devel libxml2-devel libxslt-devel openssl-devel zlib-devel bzip2-devel ncurses-devel
二、接下来,我不得不安装GMP最新的(在写这篇文章的时候)版本:
wget https://gmplib.org/download/gmp/gmp-6.1.2.tar.xz xz -d gmp-6.1.2.tar.xz tar -xvf gmp-6.1.2.tar cd gmp-6.1.2 ./configure make make check <=非常重要! ! make install
三、接下来,我必须卸载PyCrypto的当前版本(在写这篇文章的时候)
如果pip安装,则:
pip uninstall PyCrypto
如果手动编译,则:
cd pycrypto-2.6.1 python setup.py install --record log cat log | xargs rm -rf
四、并直接从它们下载新版本:
wget https://ftp.dlitz.net/pub/dlitz/crypto/pycrypto/pycrypto-2.6.1.tar.gz tar -zxvf pycrypto-2.6.1.tar.gz cd pycrypto-2.6.1 ./configure python setup.py install
如果没有解决,在警告信息中已经告诉了警告的文件位置,只要注释掉相关信息即可:
cp /usr/lib64/python2.6/site-packages/Crypto/Util/number.py{,.bak}
sed -i "s/^if/#&/" /usr/lib64/python2.6/site-packages/Crypto/Util/number.py
再次运行,就没有了警告显示。
转载于:https://blog.51cto.com/qiangsh/1979396