C # Рекомендации по лучшему способу записи текста в файл, так что если его открыть в блокноте, пользователь не поймет его - PullRequest
2 голосов
/ 04 марта 2011

Поиск рекомендаций по простому способу записи строки в файл, чтобы полученный файл не был доступен для чтения / редактирования в Блокноте.Я думал об использовании какого-то серьезного шифрования, но думаю, что это то, что мне нужно.Просто ищу легкий нечитаемый текстовый формат для конвертации в и из.

Ответы [ 8 ]

6 голосов
/ 04 марта 2011

Вы можете кодировать Base64:

 string text = "My quasi secret text.";

 byte[] buffer = System.Text.UTF8Encoding.GetBytes(text);

 string protectedText = Convert.ToBase64String(buffer);

 File.WriteAllText(filename, protectedText)

РЕДАКТИРОВАТЬ: Обновлен до UTF8Encoding для обработки Unicode.

4 голосов
/ 04 марта 2011

Как насчет использования двоичного форматера для его сериализации?

Это вполне могло бы гарантировать, что люди, открывающие файл в Блокноте, просто получат gobbledegook. Но (надо сказать), если вы придаете какое-то значение людям, которые не могут видеть или связываться с этими данными, они должны быть действительно зашифрованы.

3 голосов
/ 04 марта 2011

Google переведите его на французский, а затем переведите обратно. Это не будет работать, если ваши пользователи говорят по-французски.

2 голосов
/ 04 марта 2011

Если его не нужно шифровать, я бы предложил Convert.ToBase64String / Convert.FromBase64String.

Просто и надежно.

1 голос
/ 04 марта 2011

Шифрование: поместить (сообщение) в код или исказить, чтобы его нельзя было понять без соответствующего оборудования для дешифрования.

По определению, вы пытаетесь зашифровать данные.Единственное отличие состоит в том, что вам нужно только надежное шифрование, чтобы не позволить непрофессионалам получить доступ к его содержимому.

Как уже упоминали другие, использование Base64 эффективно зашифровывает данные против вашего среднего пользователя.

1 голос
/ 04 марта 2011

Что-то очень простое будет Base64 кодировка :

Convert.ToBase64String();

1 голос
/ 04 марта 2011

шифрование, или, возможно, кодирование (например, кодирование Base64? - или даже более простое?). Это сделает его нечитабельным, но все же редактируемым.

0 голосов
/ 05 марта 2011

Итак, в конце вот что я сделал.

TO Записать данные:

            //Write the text in a way the user wont recognize if they open the file in notepad.
            byte[] buffer = System.Text.ASCIIEncoding.UTF8.GetBytes(data);
            string protectedText = Convert.ToBase64String(buffer);
            File.WriteAllText(UserToUserLevelDataFile, protectedText);

TO Считать данные:

            string longText = File.ReadAllText(UserToUserLevelDataFile);
            data = System.Text.Encoding.UTF8.GetString(Convert.FromBase64String(longText));

Работает какочарование, спасибо всем за ваши идеи!

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