2013-11-15 3 views
1

Как бы я начал обфускать текст, чтобы он не читал пользователя, читающего текстовый файл, но моя программа все еще могла его прочитать? В принципе, у меня будет что-то вроде True*True*False*True*False*False*False*True*False*true* в текстовом файле, и мне нужно, чтобы он был сумасшедшим.Obfuscating/Randomizing a String

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

Спасибо гроздь: D

Натан

+6

Real шифрования _easier_ чем запутывания, потому что пространство имен System.Security.Cryptography делает его почти так же легко, как создание объекта и вызов метода этого объекта. Нет сложной логики преобразования/разворота, чтобы изобретать или писать. –

+0

@JoelCoehoorn Steves ответ был довольно прямой, я просто использую это вместо этого. Я действительно не люблю смотреть в Security.Cryptography atm: p – Nathan

ответ

7

Возможно ли это, не вдаваясь в все сумасшедшие вещи шифрования?

Уверенный, но если пользователь даже отдаленно знает, что делает, он сможет без проблем декодировать его.

// Encode 
var bytes = Encoding.UTF8.GetBytes("true*false*true"); 
var base64 = Convert.ToBase64String(bytes); 

// Decode 
var data = Convert.FromBase64String(base64); 
var decodedString = Encoding.UTF8.GetString(data); // get string and not bytes, thanks trope 
+0

Точно то, что мне было нужно, если он был взломан, это не проблема, если вы не можете просмотреть его непосредственно в текстовом файле. Спасибо: D – Nathan

+2

Для записи, учитывая ситуацию, описанную ОП, даже с использованием шифрования небезопасно, как если бы программа могла получить доступ к закрытому ключу, чтобы пользователь мог. Вы можете сделать это труднее, чем это, чтобы получить доступ, но на самом деле невозможно сделать невозможным доступ. – Servy

+0

@Servy Это что-то, о чем я должен беспокоиться при работе с паролями? Я шифрую и расшифровываю их с помощью AES прямо сейчас, я просто не могу зашифровать/расшифровать это с помощью AES, потому что зашифрованная строка слишком длинная для того, что я делаю. – Nathan