我在输入命令的正确行上出现了语法错误。

问题描述 投票:0回答:2

[它自动检测到它是一个字符串`。

这是错误的

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,它自动告诉我,我的变量是一个字符串,如上图。

python syntax cryptography
2个回答
1
投票

看起来你在上面那行少了一个括号。

key = base64.urlsafe_b64encode(kdf.derive(password) # need ) here

0
投票

上面那行少了一个括号. 应该是:

key = base64.urlsafe_b64encode(kdf.derive(password))


0
投票

在这一行 key = base64.urlsafe_b64encode(kdf.derive(password) 你需要再加一个 ) 在最后。

© www.soinside.com 2019 - 2024. All rights reserved.