По правде говоря, нет «лучшей» техники. В основном это зависит от чувствительности данных, которые вы пытаетесь защитить, и количества людей, которые могут получить доступ к этим данным. То, что может быть «лучшим» для меня, может быть просто излишним для вашего проекта.
В вашем случае вы можете использовать любой метод шифрования с двумя ключами. Или асимметричный ключ . Обычно у администратора есть один ключ, а у оператора - другой. Администратор может затем зашифровать файлы, но он не сможет расшифровать их снова, если у него нет ключа оператора. Оператор может расшифровать файл и, если необходимо, зашифровать файл, к которому имеет доступ только администратор. (Асимметричные ключи шифруются обоими способами.)
Существует несколько решений, использующих эти асимметричные ключи. Лучшим будет тот, который вы можете добавить в свой проект самым простым способом, при этом предлагая достаточную защиту для своих нужд.
Возможно также создание собственного алгоритма асимметричного ключа, если вы настоящий Math Wizard. Расчеты сложны и включают в себя чрезвычайно высокие простые числа в большинстве решений. Как сказал К. Санделл, найдите хорошее существующее решение, которое наилучшим образом соответствует вашим потребностям.