/// <summary> /// Входная строка может быть как зашифрованной, так и нет. /// Если строка зашифрована, она расшифровывается. /// Иначе возвращяется исходная строка. /// </summary> /// <param name="inStr">Входная строка</param> /// <returns>Результат расшифровки</returns> public static string TryUnProtect(string inStr) { string outStr = ""; bool isSuccess = DataProtect.UnProtect(inStr, out outStr); return(isSuccess ? outStr : inStr); }
/// <summary> /// По исходному текстовому файлу формируется новый файл, который содержит все строки старого файла в защищенном виде. /// </summary> /// <param name="path">Путь к исходному текстовому файлу</param> /// <param name="newFileExt">Расширение у файла с результатом. Добавляется к имени и расширению исходного файла. /// (т.е. у исходного файла расшинение не отбразывается)</param> /// <param name="isLocalMachineProtection">Уровень защиты (на уровне компьютера или на уровне пользователя)</param> /// <returns>Путь к файлу результата</returns> public static string FileProtect(string path, string newFileExt, bool isLocalMachineProtection = false) { string newPath = ""; try { List <string> protectLines = new List <string>(); var lines = File.ReadAllLines(path); foreach (string line in lines) { protectLines.Add(DataProtect.Protect(line, isLocalMachineProtection)); } newPath = path + (newFileExt.StartsWith('.') ? newFileExt : "." + newFileExt); File.WriteAllLines(newPath, protectLines); } catch (Exception ex) { throw new Exception("Ошибка при обработке файла.", ex); } return(newPath); }