gpt4 book ai didi

python - 导入错误:没有名为 cryptography.fernet 的模块

转载 作者:行者123 更新时间:2023-11-28 19:10:30 27 4
gpt4 key购买 nike

我在 Python 2 中有以下脚本 crypto.py:

import hashlib
from cryptography.fernet import Fernet

def make_hash(password):
return hashlib.sha224(password).hexdigest()

def check_hash(password, hash):
"""Check a password against an existing hash."""
return hashlib.sha224(password).hexdigest() == hash

def start():
key = Fernet.generate_key()
print key
cipher_suite = Fernet(key)
print cipher_suite
return cipher_suite

def crypt(message):
global cipher_suite
cipher_suite=start()
cipher_text = cipher_suite.encrypt(message)
return cipher_text
print "123"

def decrypt(cipher_text):
plain_text = cipher_suite.decrypt(cipher_text)
return plain_text
print "456"

message = "Hello!"
print crypt(message)
print decrypt(crypt(message))

当我运行这个脚本时,我得到以下输出:

123
456
Hgir1BHvlLLMUH-Xi-aDrtNFcT3XU86XQsWtrvn6S2s=
<cryptography.fernet.Fernet object at 0x01661A10>
gAAAAABYRAxpvX9ksY5HVNiVa__S9zfBtV0XvVjUS9RpOOJhLp0fVZPbnk1hNMk9xB9x_s88WDRNF14GhY7DJG7B7g0ngIrENA==
cUKBKF-dsP-sQ5_BN1H6yuq_t1h-kBbBgf6N-LCrynM=
<cryptography.fernet.Fernet object at 0x01BDB5D0>
Hello!

在同一个文件夹中,我有服务器和客户端脚本,我想在客户端 scrypt client.py 中使用 crypt()decrypt() ,第 6 行:

import threading, socket, crypto

当我运行 client.py 脚本时,我得到了这个 ImportError:

Traceback (most recent call last):
File "K:/A/Project/client.py", line 6, in <module>
import threading, socket, crypto
File "K:\A\Project\crypto.py", line 2, in <module>
from cryptography.fernet import Fernet
ImportError: No module named cryptography.fernet

最佳答案

2.5 版解决了:

pip install cryptography==2.5

(参见 https://github.com/oracle/oci-python-sdk/issues/108)

然后为了避免“ImportError: No module named enum”错误,使用 python3。

可能需要安装 enum34,但我不需要。(参见 ImportError: No module named enum)

关于python - 导入错误:没有名为 cryptography.fernet 的模块,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40958820/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com