Использовать алгоритм двустороннего шифрования, например AES
.Затем, как говорит @Casey, запишите его в двоичный файл.
Вам также понадобится ключ для шифрования / дешифрования данных, а это значит, что вашему приложению потребуется сохранить ключ в .exe
или.dll
, который вы предоставляете вместе с приложением.Суть в том, что действительно технический пользователь, в теории, может искать .exe или .dll с помощью бинарного редактора и может просто узнать ключ, но я предполагаю, что число или таких пользователей будет очень меньше.
В противном случае вы могли бы иметь облачное хранилище ключей и извлекать данные оттуда.
Вы должны получить довольно много библиотек AES (они обычно имеют длину 1 файл) из Интернета, написанных на C, поэтомуВы должны использовать их вместо реализации своих собственных.
Редактировать: При перечитывании поста, если ваши секретные данные требуются для аутентификации, тогда вам действительно нужен теневой файл.Системы Unix поддерживают /etc/shadow
, который содержит хэш MD5
(односторонний хэш) пароля.Таким образом, когда пользователь в следующий раз вводит пароль, вы просто проверяете, соответствует ли хеш нового пароля сохраненному хешу.Преимущество этого метода в том, что никто никогда не сможет прочитать действительный пароль.