美文网首页
Python加密与解密 No module named 'Cry

Python加密与解密 No module named 'Cry

作者: 辣辣不乖 | 来源:发表于2020-11-28 14:40 被阅读0次

    DES加密

    • 全称为Data EncryptionStandard,即数据加密标准,是一种使用密钥加密的块算法
    • 入口参数有三个:Key、Data、Mode
    • Key为7个字节共56位,是DES算法的工作密钥;
    • Data为8个字节64位,是要被加密或被解密的数据;
    • Mode为DES的工作方式,有两种:加密或解密

    3DES(即Triple DES)是DES向AES过渡的加密算法

    • 使用两个密钥,执行三次DES算法
    • 加密的过程是加密-解密-加密
    • 解密的过程是解密-加密-解密

    示例代码

    from Crypto.Cipher import DES
    
    key = b'abcdefgh'  # 密钥 8位或16位,必须为bytes
    
    def pad(text):
        """
        # 加密函数,如果text不是8的倍数【加密文本text必须为8的倍数!】,那就补足为8的倍数
        :param text: 
        :return: 
        """
        while len(text) % 8 != 0:
            text += ' '
        return text
    
    des = DES.new(key, DES.MODE_ECB)  # 创建一个DES实例
    text = 'Python rocks!'
    padded_text = pad(text)
    encrypted_text = des.encrypt(padded_text.encode('utf-8'))  # 加密
    print(encrypted_text)
    # rstrip(' ')返回从字符串末尾删除所有字符串的字符串(默认空白字符)的副本
    plain_text = des.decrypt(encrypted_text).decode().rstrip(' ')  # 解密
    print(plain_text)
    

    神仙模块 from Crypto.Cipher import DES

    python版本:python3,系统:win

    1. pip install crypto;

    会安装很多包:chardet, certifi, urllib3, idna, requests, pyyaml, Naked, shellescape, crypto

    1. 安装成功后,提示没有该模块,那就去python3的安装目录..Lib/site-package中查看是否有Crypto文件夹

    这时你会看到有crypto文件夹,将其重命名为Crypto即可;

    1. 又出现另一个提示说没有Crypto.Cipher,“ModuleNotFoundError:No module named ‘Crypto.Cipher’”;这时需要卸载pycrypto:

    pip uninstall pycrypto,然后安装pycryptodome,pip install pycryptodome,即可。

    Crypto 模块正确的安装方法

    pip uninstall crypto pycryptodome
    pip install pycryptodome
    

    Crypto 历史原因(可以忽略)

    你会发现site-packages下的该模块的目录名已经是大写了-Crypto

    1. pycrypto、pycrytodome和crypto是一个东西,crypto在python上面的名字是pycrypto,它是一个第三方库,但是已经停止更新三年了,所以不建议安装这个库;

    2. windows下python3安装也不会成功!

    这个时候pycryptodome就来了,它是pycrypto的延伸版本,用法和pycrypto是一模一样的

    1. 如果使用的时候导入模块是有问题的,这个时候只要修改一个文件夹的名称就可以完美解决这个问题,

    Python\Python36\Lib\site-packages,找到这个路径,下面有一个文件夹叫做crypto,将小写c改成大写C就ok了。

    相关文章

      网友评论

          本文标题:Python加密与解密 No module named 'Cry

          本文链接:https://www.haomeiwen.com/subject/nclkwktx.html