• Windows环境下使用python安装PyCrypto模块的方法


    1.背景介绍

    近期在使用python爬取ts类型的数据时,发现直接下载后的ts视频无法正常播放,大胆的百度了下,发现是因为视频加密的原因导致的。经过百度和谷歌后,接触到了pycrypto这个模块,这个模块的话主要是对加密的视频进行解密的。
    由于该模块在安装时候比较不顺畅,踩了不少坑。因深知踩坑的痛苦、懊悔和烦恼,故特意写一篇文章来记录安装该模块的方法,防止后来人不断跳坑。

    2.安装模块

    2.1 运行pip命令

    pip install  pycryptodome
    
    • 1

    如果运行上述命令没有报错的话,那么恭喜你顺利安装成功,可以直接进入第三环节。

    2.2 Microsoft Visual C++ 14.0 is required.

    运行pip命令后,发现直接显示报错信息,报错信息如下:
    报错
    经过一番尝试后,解决方案如下:
    下载安装visual studio,并安装c++ 14.0的组件,如下图。
    ways

    2.3 gcc报错

    如果你再次运行,提示gcc报错的话,恭喜你!中了一个大奖!这个是由于anaconda中配置文件的原因。在这里分享下,解决该问题的方案。

    • 步骤a: 找到anaconda目录,找到distutils.cfg文件,默认路径为:anaconda\Lib\distutils\distutils.cfg
    • 步骤b: 将compiler=mingw32改为compiler=msvc

    3.使用案例

    from Crypto.Cipher import AES
    # 对应的模块
    from Crypto.Util.Padding import pad
    #创建解析器
    #注意key需要为二进制形式
    cryptor = AES.new(key, AES.MODE_CBC, iv)
    # 变为16的倍数,部分场景可能需要
    #encrypted_data = pad(string, 16)
    #data为需要进行解密的二进制字符串
    result = cryptor.decrypt(data)
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
  • 相关阅读:
    游戏APP失踪事件,连环杀
    如何在next14项目中加入favicon
    使用 TiDB Lightning 恢复 S3 兼容存储上的备份数据
    新160个CrackMe分析-第1组:1-10(下)
    Android app保活(前台服务)
    BDP 581/591 azide,Bodipy581/591标记叠氮,2183473-20-1
    【模式识别】贝叶斯决策模型理论总结
    改变世界的火花,或许在 Web3 黑客松点燃
    2022Web前端从入门到精通资料
    Redis 客户端缓存
  • 原文地址:https://blog.csdn.net/qq_41780234/article/details/126113454