Определить набор данных PII в текстовом файле и зашифровать его, который может быть расшифрован позже?
У меня есть текстовый файл чата, который состоит из набора данных PII, таких как имя, идентификационный номер, номер телефона и т. Д. Я должен зашифровать информацию PII в источнике и снова расшифровать ее в месте назначения, используя Python 3.7. Я использовал cryptography.fernet для преобразования, но он также используется для преобразования всего файла одним ключом. Какое может быть возможное решение?
from cryptography.fernet import Fernet
key = Fernet.generate_key()
key = b'aA1QRKHyk9lV8LM740tj_dcn045KkOSU7SM0hVPYfhQ=' #the key is random
input_file = 'test.txt'
output_file = 'test.encrypted'
with open(input_file, 'rb') as f:
data = f.read()
fernet = Fernet(key)
encrypted = fernet.encrypt(data)
with open(output_file, 'wb') as f:
f.write(encrypted)
Проблема здесь в том, что он шифрует весь файл и дешифрует весь файл и с тем же ключом, который я жестко запрограммировал в коде, что не является правильным способом сделать.
Тестовый файл (неструктурированный) содержит:
hello john with id no 345678 with phone no 12345678
hello peter with id no 87654 with phone no 45678990
Мне нужно зашифровать имя, идентификатор и номер телефона здесь. Что может быть наилучшим решением для индивидуального шифрования данных PII с помощью ключей, которые могли бы идентифицировать имена, идентификаторы и телефонные номера отдельно и впоследствии расшифровываться? Лучшая библиотека для использования? Пример кода будет полезен