Xervos
Erfahrenes Mitglied
Hallo Leute,
Ich arbeite gerade an einem Programm mit dem man Immobilien auf eine Homepage stellen kann, diese bearbeiten, löschen und Soweiter. Da ich nicht will das jeder in das Programm einsteigen kann habe ich mir überlegt ich mache einen login die auf eine XML zugreift. In dieser XML soll es mehrere Acoounts geben zb. User A darf nur die Fertigen angebote lesen, User B darf nicht zu lesen sondern auch neue anlegen und bestehende Bearbeiten. User C darf alles machen (darunter zählt auch neue User anlegen usw.) ich habe mir dann überlegt ich mache Accounts und weiße denen gewisse Rechte zu (schreiben, lesen, löschen, Bearbeiten usw.) mit desen hilfe ich dann im Programm steuer welche Formulare usw. zur verfügung stehen. Wenn man das Programm startet kommt zu einem login wo man Username und Passwort eingeben soll. Nach drücken des login button soll eine XML datei im Hintergrund abgerufen werden, geprüft werden ob username und passwort überein stimmen, ist das der Fall werden noch die Rechte geprüft, gesetzt und dann erfolgt der Login. Die XML sollte natürlich wieder verschlüsselt und geschlossen werden wenn das alles gemacht wurde (auch bei falschen login). Ich habe im Internet was von einem XMLWriter gelesen nur bin ich mir nicht sicher wie ich das mit Rijndael verschlüsselung koppeln kann.
Das verschlüsseln von Txt dateien funktioniert super und auch das entschlüsseln nur brauch ich eben eine XML datei. Ich will in Zukunft nicht nur Accountdaten in einer XML datei speichern sondern auch Versions hinweise usw. (die erweiterungen sind hier echt viel). Ich hänge mal einfach meine Klasse hier rein die das entschlüsseln und verschlüsseln übernimmt.
Das ist im Grunde das beispiel von MSDN nur gering angepasst
wie gesagt das mit einer File klappt super. Wie kann ich das jetzt umschreiben das ich eine XML verschlüsselt schreiben kann. Noch eine Weitere Frage ich parse ich das ganze dann durch ?
Danke für eure Hilfe
lg
Ich arbeite gerade an einem Programm mit dem man Immobilien auf eine Homepage stellen kann, diese bearbeiten, löschen und Soweiter. Da ich nicht will das jeder in das Programm einsteigen kann habe ich mir überlegt ich mache einen login die auf eine XML zugreift. In dieser XML soll es mehrere Acoounts geben zb. User A darf nur die Fertigen angebote lesen, User B darf nicht zu lesen sondern auch neue anlegen und bestehende Bearbeiten. User C darf alles machen (darunter zählt auch neue User anlegen usw.) ich habe mir dann überlegt ich mache Accounts und weiße denen gewisse Rechte zu (schreiben, lesen, löschen, Bearbeiten usw.) mit desen hilfe ich dann im Programm steuer welche Formulare usw. zur verfügung stehen. Wenn man das Programm startet kommt zu einem login wo man Username und Passwort eingeben soll. Nach drücken des login button soll eine XML datei im Hintergrund abgerufen werden, geprüft werden ob username und passwort überein stimmen, ist das der Fall werden noch die Rechte geprüft, gesetzt und dann erfolgt der Login. Die XML sollte natürlich wieder verschlüsselt und geschlossen werden wenn das alles gemacht wurde (auch bei falschen login). Ich habe im Internet was von einem XMLWriter gelesen nur bin ich mir nicht sicher wie ich das mit Rijndael verschlüsselung koppeln kann.
Das verschlüsseln von Txt dateien funktioniert super und auch das entschlüsseln nur brauch ich eben eine XML datei. Ich will in Zukunft nicht nur Accountdaten in einer XML datei speichern sondern auch Versions hinweise usw. (die erweiterungen sind hier echt viel). Ich hänge mal einfach meine Klasse hier rein die das entschlüsseln und verschlüsseln übernimmt.
Das ist im Grunde das beispiel von MSDN nur gering angepasst
Code:
public static void EncryptTextToFile(String Data, String FileName, byte[] Key, byte[] IV)
{
try
{
// Create or open the specified file.
FileStream fStream = File.Open(FileName, FileMode.Create);
// Create a new Rijndael object.
Rijndael RijndaelAlg = Rijndael.Create();
RijndaelAlg.IV = IV;
RijndaelAlg.Key = Key;
// Create a CryptoStream using the FileStream
// and the passed key and initialization vector (IV).
CryptoStream cStream = new CryptoStream(fStream,
RijndaelAlg.CreateEncryptor(Key, IV),
CryptoStreamMode.Write);
// Create a StreamWriter using the CryptoStream.
StreamWriter sWriter = new StreamWriter(cStream);
try
{
// Write the data to the stream
// to encrypt it.
sWriter.WriteLine(Data);
}
catch (Exception e)
{
Console.WriteLine("An error occurred: {0}", e.Message);
}
finally
{
// Close the streams and
// close the file.
sWriter.Close();
cStream.Close();
fStream.Close();
}
}
catch (CryptographicException e)
{
Console.WriteLine("A Cryptographic error occurred: {0}", e.Message);
}
catch (UnauthorizedAccessException e)
{
Console.WriteLine("A file error occurred: {0}", e.Message);
}
catch (Exception e)
{
Console.WriteLine("An error occurred: {0}", e.Message);
}
}
public static string DecryptTextFromFile(String FileName, byte[] Key, byte[] IV)
{
try
{
// Create or open the specified file.
FileStream fStream = File.Open(FileName, FileMode.Open);
// Create a new Rijndael object.
Rijndael RijndaelAlg = Rijndael.Create();
RijndaelAlg.IV = IV;
RijndaelAlg.Key = Key;
// Create a CryptoStream using the FileStream
// and the passed key and initialization vector (IV).
CryptoStream cStream = new CryptoStream(fStream,
RijndaelAlg.CreateDecryptor(Key, IV),
CryptoStreamMode.Read);
// Create a StreamReader using the CryptoStream.
StreamReader sReader = new StreamReader(cStream);
string val = null;
try
{
// Read the data from the stream
// to decrypt it.
while (!sReader.EndOfStream)
{
val = val + sReader.ReadLine() + "\r\n";
}
}
catch (Exception e)
{
Console.WriteLine("An error occurred: {0}", e.Message);
}
finally
{
// Close the streams and
// close the file.
sReader.Close();
cStream.Close();
fStream.Close();
}
// Return the string.
return val;
}
catch (CryptographicException e)
{
Console.WriteLine("A Cryptographic error occurred: {0}", e.Message);
return null;
}
catch (UnauthorizedAccessException e)
{
Console.WriteLine("A file error occurred: {0}", e.Message);
return null;
}
catch (Exception e)
{
Console.WriteLine("An error occurred: {0}", e.Message);
return e.Message;
}
}
wie gesagt das mit einer File klappt super. Wie kann ich das jetzt umschreiben das ich eine XML verschlüsselt schreiben kann. Noch eine Weitere Frage ich parse ich das ganze dann durch ?
Danke für eure Hilfe
lg
Zuletzt bearbeitet: