Давайте посмотрим, как зашифровать текст и файлы с помощью Python. Для этого мы будем использовать Fernet который является частью пакета криптографии Python
Итак, давайте направимся в это
Хорошо, во-первых, нам нужно скачать пакет криптографии, используя пипс
В окнах:
pip install cryptography
На Linux/MacOS:
pip3 install cryptography
После того, как мы выполнили команду в терминале, мы готовы начать кодирование.
Возможно, вы захотите использовать ваш любимый редактор кода (VSCode, Sublime Text, Atom etc …) или любой IDE.
Теперь давайте сначала импортируем нужную библиотеку
from cryptography.fernet import Fernet
Затем мы собираемся определить функцию, которая напишет ключ к файлу
def write_key(): key = Fernet.generate_key() # Generates the key with open("key.key", "wb") as key_file: # Opens the file the key is to be written to key_file.write(key) # Writes the key
Мы также напишем функцию, которая поможет с чтением и загрузкой ключа в переменную
def load_key(): return open("key.key", "rb").read() #Opens the file, reads and returns the key stored in the file
Теперь давайте возьмем сообщение, мы собираемся кодировать в качестве ввода пользователя и кодировать его к байтам, потому что это то, как работает Fernet
message = input("Message: ").encode() # Takes the message as user input and encodes it
Теперь нам нужно написать – главный секретный ключ к файлу ключа. Мы собираемся запустить это только один раз, а затем комментировать выручку, потому что мы не хотим, чтобы он написал новый ключ каждый раз, когда код работает.
write_key() # Writes the key to the key file
Теперь нам нужно загрузить ключ I.E. Прочитайте ключ от ключевого файла и храните его в переменной, называемой ключ
Хотя вы можете назвать это что вы хотите
key = load_key() # Loads the key and stores it in a variable
Теперь нам нужно инициализировать объект Fernet, передавая в ключ Мы только что загружены
f = Fernet(key)
Теперь давайте доберемся до основной части, зашифровать сообщение, также позвольте нам распечатать
encrypted_message = f.encrypt(message) print(encrypted_message)
Вывод:
Вы видите, что зашифрованное сообщение не может быть понято никому, так что оно сейчас безопасно и будет одинаковым, если не расшифрожено с тем же ключом
Чтобы расшифровать, это очень похожий процесс
decrypted_message = f.decrypt(encrypred_message) print(decrypted_message)
Вывод:
Итак, вот, сначала сообщение зашифровано и напечатано И тогда мы расшифруем его и распечатайте его в следующей строке. Если начальное сообщение и дешифрованное сообщение точно так же, наш код работал !!!
Так что это было для этого крошечного блога (и это был мой первый блог, который когда-либо оставит некоторые отзывы !!!)
Ссылка на сайт
% [ https://www.youtube.com/watch?v=p2k4f1tu-ss Несомненно
Оригинал: “https://dev.to/anishde12020/cryptography-with-python-using-fernet-40o3”