**

win10下python3 Crypto.Util.number模块下载问题解决方法

**
首先感谢大佬的博客启发:
https://blog.csdn.net/wukai0909/article/details/109772278

在最近的CISCN2021中在crypto上十分挫败,在赛后查看相关大佬的题解才发现要使用相关的模块
就像下图这样:

from Crypto.Util.number import getStrongPrime, bytes_to_long
from flag import flag

可是我在使用

pip install crypto

提示出错,就在网上疯狂寻找相关方法,为此我还把python3.9和python2.7以及pycharm卸载重装了一遍,功夫不负有心人,我终于找到了相关方法:

1.首先是安装大佬博客中所说

pip3 install pyCryptodome -i https://pypi.douban.com/simple

crypto已经停用,不再更新。而pycryptodome则可以完美替代它,相应的子模块也都有,故安装pycryptodome模块即可。
2.但是在pycharm中依旧无法调用,在cmd窗口也无法调用
在这里插入图片描述
3. 但是我发现我调用的是crypto,结果显示Crypto出错,在对应路径下是crypto出错,所以我想到之前在检索时发现可以修改site-packages目录下的crypto文件夹大小写,改为Crypto.此时再次调用便不报错:
在这里插入图片描述
同时在pycharm中也不再报错:
在这里插入图片描述

import gmpy2
from Crypto.Util.number import long_to_bytes
n = 544187306850902797629107353619267427694837163600853983242783
e = 39293
c = 439254895818320413408827022398053685867343267971712332011972
p1 = 67724172605733871
p2 = 11571390939636959887
p3 = 694415063702720454699679
phi = (p1 - 1) * (p2 - 1) * (p3 - 1)
d = gmpy2.invert(e, phi)
m = pow(c, d, n)
print
long_to_bytes(m)

4.同时我发现大佬博客中的语句也可以改为相应的模块,同样适用:

C:\Users\丁辰就看见>pip3 install pyCryptodome -i https://pypi.douban.com/simple
Looking in indexes: https://pypi.douban.com/simple
Collecting pyCryptodome
  Downloading https://pypi.doubanio.com/packages/f1/0b/bf5bd5a7643af6265205c06027ada49e853f26b3d3a0fd7e3baf19098876/pycryptodome-3.10.1-cp35-abi3-win_amd64.whl (1.6 MB)
     |████████████████████████████████| 1.6 MB 2.2 MB/s
Installing collected packages: pyCryptodome
Successfully installed pyCryptodome-3.10.1

C:\Users\丁辰就看见>pip3 install pwntools -i https://pypi.douban.com/simple
Looking in indexes: https://pypi.douban.com/simple
Collecting pwntools
  Downloading https://pypi.doubanio.com/packages/e3/83/973347fc46bf1d4e6c4d58e952896bb91e695dfdcc7313b04eda31e86f62/pwntools-4.5.0-py2.py3-none-any.whl (10.0 MB)
     |████████████████████████████████| 10.0 MB 152 kB/s
Collecting pysocks
  Downloading https://pypi.doubanio.com/packages/8d/59/b4572118e098ac8e46e399a1dd0f2d85403ce8bbaad9ec79373ed6badaf9/PySocks-1.7.1-py3-none-any.whl (16 kB)
Collecting six>=1.12.0
  Downloading https://pypi.doubanio.com/packages/d9/5a/e7c31adbe875f2abbb91bd84cf2dc52d792b5a01506781dbcf25c91daf11/six-1.16.0-py2.py3-none-any.whl (11 kB)
Collecting pygments>=2.0
  Downloading https://pypi.doubanio.com/packages/a6/c9/be11fce9810793676017f79ffab3c6cb18575844a6c7b8d4ed92f95de604/Pygments-2.9.0-py3-none-any.whl (1.0 MB)
     |████████████████████████████████| 1.0 MB 3.3 MB/s
Collecting rpyc
  Downloading https://pypi.doubanio.com/packages/e8/4c/6d456ae4319190d17e0d4cd8c1ee6b6ba9125f0bde18ef37afdb50867a39/rpyc-5.0.1-py3-none-any.whl (68 kB)
     |████████████████████████████████| 68 kB 1.9 MB/s
Collecting packaging
  Downloading https://pypi.doubanio.com/packages/3e/89/7ea760b4daa42653ece2380531c90f64788d979110a2ab51049d92f408af/packaging-20.9-py2.py3-none-any.whl (40 kB)
     |████████████████████████████████| 40 kB ...
Collecting paramiko>=1.15.2
  Downloading https://pypi.doubanio.com/packages/95/19/124e9287b43e6ff3ebb9cdea3e5e8e88475a873c05ccdf8b7e20d2c4201e/paramiko-2.7.2-py2.py3-none-any.whl (206 kB)
     |████████████████████████████████| 206 kB 3.2 MB/s
Collecting pyserial>=2.7
  Downloading https://pypi.doubanio.com/packages/07/bc/587a445451b253b285629263eb51c2d8e9bcea4fc97826266d186f96f558/pyserial-3.5-py2.py3-none-any.whl (90 kB)
     |████████████████████████████████| 90 kB 1.4 MB/s
Collecting psutil>=3.3.0
  Downloading https://pypi.doubanio.com/packages/21/71/33cb528381c443df1ee25cbb451da975421bddb5099b11e7f2eb3fc90d6d/psutil-5.8.0-cp39-cp39-win_amd64.whl (246 kB)
     |████████████████████████████████| 246 kB 3.3 MB/s
Requirement already satisfied: pip>=6.0.8 in d:\python3.9\python3.9.5\lib\site-packages (from pwntools) (21.1.1)
Collecting ropgadget>=5.3
  Downloading https://pypi.doubanio.com/packages/94/89/bf56f74809f8b835ec00ba4a04d9c7aac865e94164ff65b61d8930758145/ROPGadget-6.5-py3-none-any.whl (31 kB)
Collecting sortedcontainers
  Downloading https://pypi.doubanio.com/packages/20/4d/a7046ae1a1a4cc4e9bbed194c387086f06b25038be596543d026946330c9/sortedcontainers-2.3.0-py2.py3-none-any.whl (29 kB)
Collecting unicorn<1.0.2rc4,>=1.0.2rc1
  Downloading https://pypi.doubanio.com/packages/a5/be/5598a80ab946a3720116b8e963d6f8f476d656959d65cc17bd1680184a6f/unicorn-1.0.2rc3-py2.py3-none-win_amd64.whl (1.7 MB)
     |████████████████████████████████| 1.7 MB 136 kB/s
Collecting pyelftools>=0.2.4
  Downloading https://pypi.doubanio.com/packages/6f/50/3d7729d64bb23393aa4c166af250a6e6f9def40c90bf0e9af3c5ad25b6f7/pyelftools-0.27-py2.py3-none-any.whl (151 kB)
     |████████████████████████████████| 151 kB 6.8 MB/s
Collecting capstone>=3.0.5rc2
  Downloading https://pypi.doubanio.com/packages/6a/71/d409f50f7cf7235513f3e636bb1aeb53d729106c1c77495c48fc09c41a54/capstone-4.0.2-py2.py3-none-win_amd64.whl (896 kB)
     |████████████████████████████████| 896 kB 1.6 MB/s
Collecting python-dateutil
  Downloading https://pypi.doubanio.com/packages/d4/70/d60450c3dd48ef87586924207ae8907090de0b306af2bce5d134d78615cb/python_dateutil-2.8.1-py2.py3-none-any.whl (227 kB)
     |████████████████████████████████| 227 kB 3.2 MB/s
Collecting mako>=1.0.0
  Downloading https://pypi.doubanio.com/packages/f3/54/dbc07fbb20865d3b78fdb7cf7fa713e2cba4f87f71100074ef2dc9f9d1f7/Mako-1.1.4-py2.py3-none-any.whl (75 kB)
     |████████████████████████████████| 75 kB 5.1 MB/s
Collecting colored-traceback
  Downloading https://pypi.doubanio.com/packages/9a/8b/0a4e2a8cdc14279b265532f11c9cb75396880e6295c99a0bed7281b6076a/colored-traceback-0.3.0.tar.gz (3.8 kB)
Collecting intervaltree>=3.0
  Downloading https://pypi.doubanio.com/packages/50/fb/396d568039d21344639db96d940d40eb62befe704ef849b27949ded5c3bb/intervaltree-3.1.0.tar.gz (32 kB)
Requirement already satisfied: requests>=2.0 in d:\python3.9\python3.9.5\lib\site-packages (from pwntools) (2.25.1)
Collecting MarkupSafe>=0.9.2
  Downloading https://pypi.doubanio.com/packages/90/de/d1a5af7b5f14bb173c41d53dca4a118c6e59b40363916c3e86c31a857000/MarkupSafe-2.0.0-cp39-cp39-win_amd64.whl (14 kB)
Collecting bcrypt>=3.1.3
  Downloading https://pypi.doubanio.com/packages/21/8d/ed20081491e71f078e61804fe0c8250167008cf3ff594e1fb396cf138f2b/bcrypt-3.2.0-cp36-abi3-win_amd64.whl (28 kB)
Collecting pynacl>=1.0.1
  Downloading https://pypi.doubanio.com/packages/8c/a6/1e94dd44f8b4a1be93a7cf5f61e5998475acd44b30cb49aee0beb5b62cc7/PyNaCl-1.4.0-cp35-abi3-win_amd64.whl (206 kB)
     |████████████████████████████████| 206 kB 3.3 MB/s
Collecting cryptography>=2.5
  Downloading https://pypi.doubanio.com/packages/24/68/2ac7515449749444729304cc1f8ca2f51012264703047ff07d4ee2d87b22/cryptography-3.4.7-cp36-abi3-win_amd64.whl (1.6 MB)
     |████████████████████████████████| 1.6 MB 435 kB/s
Collecting cffi>=1.1
  Downloading https://pypi.doubanio.com/packages/aa/0c/20c3ccdb32fdf86e38901d548f0e11b47d7e037b95373efc1c2379129358/cffi-1.14.5-cp39-cp39-win_amd64.whl (179 kB)
     |████████████████████████████████| 179 kB 2.2 MB/s
Collecting pycparser
  Downloading https://pypi.doubanio.com/packages/ae/e7/d9c3a176ca4b02024debf82342dab36efadfc5776f9c8db077e8f6e71821/pycparser-2.20-py2.py3-none-any.whl (112 kB)
     |████████████████████████████████| 112 kB 6.8 MB/s
Requirement already satisfied: urllib3<1.27,>=1.21.1 in d:\python3.9\python3.9.5\lib\site-packages (from requests>=2.0->pwntools) (1.26.4)
Requirement already satisfied: idna<3,>=2.5 in d:\python3.9\python3.9.5\lib\site-packages (from requests>=2.0->pwntools) (2.10)
Requirement already satisfied: chardet<5,>=3.0.2 in d:\python3.9\python3.9.5\lib\site-packages (from requests>=2.0->pwntools) (4.0.0)
Requirement already satisfied: certifi>=2017.4.17 in d:\python3.9\python3.9.5\lib\site-packages (from requests>=2.0->pwntools) (2020.12.5)
Collecting pyparsing>=2.0.2
  Downloading https://pypi.doubanio.com/packages/8a/bb/488841f56197b13700afd5658fc279a2025a39e22449b7cf29864669b15d/pyparsing-2.4.7-py2.py3-none-any.whl (67 kB)
     |████████████████████████████████| 67 kB 4.5 MB/s
Collecting plumbum
  Downloading https://pypi.doubanio.com/packages/6c/fc/6cdaf59a001c707333869b054daf1e0df02978d261f20f8b082afcf189c3/plumbum-1.7.0-py2.py3-none-any.whl (116 kB)
     |████████████████████████████████| 116 kB 6.4 MB/s
Collecting pypiwin32
  Downloading https://pypi.doubanio.com/packages/d0/1b/2f292bbd742e369a100c91faa0483172cd91a1a422a6692055ac920946c5/pypiwin32-223-py3-none-any.whl (1.7 kB)
Collecting pywin32>=223
  Downloading https://pypi.doubanio.com/packages/97/e3/cca8a7ca9bcbd756157f371e885dc64da10b2f9a74af2e89675576560e11/pywin32-300-cp39-cp39-win_amd64.whl (9.2 MB)
     |████████████████████████████████| 9.2 MB 133 kB/s
Using legacy 'setup.py install' for intervaltree, since package 'wheel' is not installed.
Using legacy 'setup.py install' for colored-traceback, since package 'wheel' is not installed.
Installing collected packages: pywin32, pycparser, six, pypiwin32, cffi, sortedcontainers, pyparsing, pynacl, pygments, plumbum, MarkupSafe, cryptography, capstone, bcrypt, unicorn, rpyc, ropgadget, python-dateutil, pysocks, pyserial, pyelftools, psutil, paramiko, packaging, mako, intervaltree, colored-traceback, pwntools
    Running setup.py install for intervaltree ... done
    Running setup.py install for colored-traceback ... done
Successfully installed MarkupSafe-2.0.0 bcrypt-3.2.0 capstone-4.0.2 cffi-1.14.5 colored-traceback-0.3.0 cryptography-3.4.7 intervaltree-3.1.0 mako-1.1.4 packaging-20.9 paramiko-2.7.2 plumbum-1.7.0 psutil-5.8.0 pwntools-4.5.0 pycparser-2.20 pyelftools-0.27 pygments-2.9.0 pynacl-1.4.0 pyparsing-2.4.7 pypiwin32-223 pyserial-3.5 pysocks-1.7.1 python-dateutil-2.8.1 pywin32-300 ropgadget-6.5 rpyc-5.0.1 six-1.16.0 sortedcontainers-2.3.0 unicorn-1.0.2rc3

C:\Users\丁辰就看见>pip list
Package           Version
----------------- ---------
bcrypt            3.2.0
capstone          4.0.2
certifi           2020.12.5
cffi              1.14.5
chardet           4.0.0
colored-traceback 0.3.0
crypto            1.4.1
cryptography      3.4.7
idna              2.10
intervaltree      3.1.0
Mako              1.1.4
MarkupSafe        2.0.0
Naked             0.1.31
packaging         20.9
paramiko          2.7.2
pip               21.1.1
plumbum           1.7.0
psutil            5.8.0
pwntools          4.5.0
pycparser         2.20
pycryptodome      3.10.1
pyelftools        0.27
Pygments          2.9.0
PyNaCl            1.4.0
pyparsing         2.4.7
pypiwin32         223
pyserial          3.5
PySocks           1.7.1
python-dateutil   2.8.1
pywin32           300
PyYAML            5.4.1
requests          2.25.1
ROPGadget         6.5
rpyc              5.0.1
setuptools        56.0.0
shellescape       3.8.1
six               1.16.0
sortedcontainers  2.3.0
unicorn           1.0.2rc3
urllib3           1.26.4

C:\Users\丁辰就看见>pip3 install libnum -i https://pypi.douban.com/simple
Looking in indexes: https://pypi.douban.com/simple
Collecting libnum
  Downloading https://pypi.doubanio.com/packages/5f/c7/17e4c6bf91e06c6ac1fbe2100f4761248cac960e63a4cc4d63a9c53afac0/libnum-1.7.1-py3-none-any.whl (14 kB)
Installing collected packages: libnum
Successfully installed libnum-1.7.1

5.但是我仍未解决hashkib模块的安装方法,直到我意识到hashlib是python3的内置模块。
6.抱歉,我又发现了问题无法解决,hmac极度不稳定

python内置还有一个 hmac 模块,它内部对我们创建 key 和 内容 进行进一步的处理然后再加密:

import hmac
h = hmac.new(bytes('898oaFs09f',encoding="utf-8"))
h.update(bytes('admin',encoding="utf-8"))
print(h.hexdigest())

但是它会报错:

D:\python3.9\python3.9.5\python.exe D:/Pycharm/Programs/function1/main.py
Traceback (most recent call last):
  File "D:\Pycharm\Programs\function1\main.py", line 105, in <module>
    h = hmac.new(bytes('898oaFs09f',encoding="utf-8"))
  File "D:\python3.9\python3.9.5\lib\hmac.py", line 170, in new
    return HMAC(key, msg, digestmod)
  File "D:\python3.9\python3.9.5\lib\hmac.py", line 56, in __init__
    raise TypeError("Missing required parameter 'digestmod'.")
TypeError: Missing required parameter 'digestmod'.

Process finished with exit code 1

经过检索后发现疑似与版本的不兼容问题导致,可参考:
https://ask.csdn.net/questions/3331409

Final
这就是我在win10下python3 Crypto.Util.number模块下载问题以及附加问题的解决方法

CTFer,Fighting!

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐