[它自动检测到它是一个字符串`。
这是错误的
input_msg = input('enter message:-')
^
SyntaxError: invalid syntax`]
这是我的代码
import time
from cryptography.fernet import Fernet
from cryptography.hazmat.backends import default_backend
from cryptography.hazmat.primitives import hashes
from cryptography.hazmat.primitives.kdf.pbkdf2 import PBKDF2HMAC
password_provided = "password"
password = password_provided.encode()
salt = b'salt_'
kdf = PBKDF2HMAC(
algorithm=hashes.SHA256(),
length=32,
salt=salt,
iterations=100000,
backend=default_backend()
)
key = base64.urlsafe_b64encode(kdf.derive(password)
input_msg = input('enter message:-')
message = input_msg.encode()
time.sleep(15)
f = Fernet(key)
code = f.encrypt(message)
print(message)
我使用的是VS代码,我的Python版本是3.7,我无法使用input func,它自动告诉我,我的变量是一个字符串,如上图。
看起来你在上面那行少了一个括号。
key = base64.urlsafe_b64encode(kdf.derive(password) # need ) here
上面那行少了一个括号. 应该是:
key = base64.urlsafe_b64encode(kdf.derive(password))
在这一行 key = base64.urlsafe_b64encode(kdf.derive(password)
你需要再加一个 )
在最后。