问题一:/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

再次运行,就没有了警告显示。