• 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
  • 相关阅读:
    机器学习:图文详解密度聚类DBSCAN算法(附Python实现)
    认真学习MySQL的逻辑架构
    item_review-获得商品评论
    一、Git介绍、以及原理
    java读写锁
    nginx学习,看这一篇就够了:下载、安装。使用:正向代理、反向代理、负载均衡。常用命令和配置文件,很全
    ACM第三周---周训---题目合集.
    C#实现将Mysql数据迁移到SQL数据库
    01Urllib
    java中一些注解的作用
  • 原文地址:https://blog.csdn.net/qq_41780234/article/details/126113454