Как зашифровать JSON в python - PullRequest
0 голосов
/ 05 мая 2020

У меня есть файл JSON. Я запускаю программу в python, где данные извлекаются из файла JSON. Есть ли способ зашифровать файл JSON с помощью ключа, чтобы, если кто-то случайно откроет файл, это будет беспорядок символов, но когда ключ передается в программу, она расшифровывает его и может читать Это? Заранее спасибо.

1 Ответ

0 голосов
/ 05 мая 2020

Да, вы можете зашифровать файл. json. Убедитесь, что вы установили пакет криптографии, набрав

pip install cryptography

или

python -m pip install cryptography

, если вы используете windows.

Затем вы можете сделать программу похожей на мой:

#this imports the cryptography package
from cryptography.fernet import Fernet

#this generates a key and opens a file 'key.key' and writes the key there
key = Fernet.generate_key()
file = open('key.key','wb')
file.write(key)
file.close()

#this just opens your 'key.key' and assings the key stored there as 'key'
file = open('key.key','rb')
key = file.read()
file.close()

#this opens your json and reads its data into a new variable called 'data'
with open('filename.json','rb') as f:
    data = f.read()

#this encrypts the data read from your json and stores it in 'encrypted'
fernet = Fernet(key)
encrypted=fernet.encrypt(data)

#this writes your new, encrypted data into a new JSON file
with open('filename.json','wb') as f:
    f.write(encrypted)

Обратите внимание, что этот блок:

file = open('key.key','wb')
file.write(key)
file.close()

#this just opens your 'key.key' and assigns the key stored there as 'key'
file = open('key.key','rb')
key = file.read()
file.close()

не нужен. Это просто способ сохранить сгенерированный ключ в надежном месте и прочитать его снова. Вы можете удалить этот блок, если хотите.

Сообщите мне, если вам понадобится дополнительная помощь:)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...