Ari*_*ian 2 python encryption cryptography module
我不确定是否有人熟悉加密模块,但是我正在尝试加密代表字符串的变量。
例如:
string = input('String here')
Run Code Online (Sandbox Code Playgroud)
他们在模块页面上给出的示例是:
from cryptography.fernet import Fernet
key = Fernet.generate_key()
cipher_suite = Fernet(key)
cipher_text = cipher_suite.encrypt(b"A really secret message. Not for prying eyes.")
plain_text = cipher_suite.decrypt(cipher_text)
Run Code Online (Sandbox Code Playgroud)
一切都很好,但是当我尝试用一个变量替换“真正的秘密消息字符串”时,它不起作用。
如果用引号引起来,则只打印变量的名称(duh)
如果没有这样的引号:cipher_text = cipher_suite.encrypt(bstring),则表示未定义变量(也是duh)
但是,如果我只是将变量放入,它将给我一个错误: TypeError: data must be bytes.
有任何想法吗?谢谢!
根据Python 文档,
bytes和bytearray对象是整数序列(0到255之间),表示单个字节的ASCII值
我认为输入需要像这样
a = b"abc"
Run Code Online (Sandbox Code Playgroud)
(注意“ b”)。