当您拥有密钥文件但不知道 Python 中加密的内容时解密 Fernet 密钥



我想创建一个程序,我可以做一些加密,然后把它发送给一个朋友,然后把加密密钥和解密代码发送给他,然后他可以自己解密消息。我只知道如何解密基于加密的东西,这是我的尝试:

导入加密从密码学

。输入fernet

key = Fernet.generate_key()

打印(键)

with open("pass.key", "wb") as key_file:key_file.write(键)

def call_key ():

return open("pass.key", "rb").read()

key = call_key()

code = "很棒的代码! !".encode ()

a = Fernet(key)

code = a.encrypt(code)

打印(代码)

key = call_key()

b = Fernet(key)

decoded_code = b.decrypt(code)

打印(decoded_code)

问题是要使其工作,必须知道加密的部分。我希望它能在不知道原始信息的情况下被解密。谢谢你的帮助:)

我认为你实际上拥有你想要的东西,你只是还没有把它们分开。假设您有两个脚本,而不是只有一个代码块。

encrypt.py:

from cryptography.fernet import Fernet
key = Fernet.generate_key()
print(key)
with open("pass.key", "wb") as key_file: key_file.write(key)
code = "Hello!! Awesome code!!".encode()
a = Fernet(key)
code = a.encrypt(code)
print(code)

生成一些输出,其中第一行是密钥,第二行是带有您生成的密钥的编码消息。

b'uRcjLwzI3N732Zy02kz35SfFJXgXY3EVKHmSo66xqUg='
b'gAAAAABhXztbKmk_2ALnJSawKjelg2wmn-hdq5dtpIJK0KbveL1pioAJRdNOzuh91acsA0ZFil5VOrSF8oAT4VoV_opezc8BTQMjsV3wkvq78OSEG850pGA='

然后假设您将字节字符串与密钥文件pass.key一起传递给您的朋友。然后你可以有,其中s是编码信息,decrypt.py:

from cryptography.fernet import Fernet
s = "gAAAAABhXztbKmk_2ALnJSawKjelg2wmn-hdq5dtpIJK0KbveL1pioAJRdNOzuh91acsA0ZFil5VOrSF8oAT4VoV_opezc8BTQMjsV3wkvq78OSEG850pGA="
code = bytes(s, "utf-8")
def call_key(): return open("pass.key", "rb").read()
key = call_key()
b = Fernet(key)
decoded_code = b.decrypt(code)
print(decoded_code)

生产

b'Hello!! Awesome code!!'

相关内容

  • 没有找到相关文章