UID0
Lt. Commander
- Registriert
- Juli 2010
- Beiträge
- 1.050
Hallo,
ich habe ein Program, dass Text, Bilder und andere Dateien verschlüsselt. Dazu gehört auch eine richTextBox, in der Text geschrieben und formatiert werden kann:
Alles läuft in WPF. Mittlerweile habe ich schon das extendedWPF Toolkit benutzt, jedoch finde ich dort auch nichts, mit dem ich den Text (bevorzugt im richText Format), formatiert speichern kann.
Ich hoffe mir kann jemand helfen.
Alle Google Anleitungen haben entweder nicht funktioniert, oder sie waren zu kompliziert. 
PS: In Windows Forms hats ganz einfach mit dem .rtf funktioniert. Warum ist das in WPF so kompliziert?!?
Keiner eine Idee?
ich habe ein Program, dass Text, Bilder und andere Dateien verschlüsselt. Dazu gehört auch eine richTextBox, in der Text geschrieben und formatiert werden kann:
Code:
public string GetText(System.Windows.Documents.FlowDocument document)
{
return new TextRange(document.ContentStart, document.ContentEnd).Text;
}
public void SetText(System.Windows.Documents.FlowDocument document, string text)
{
new TextRange(document.ContentStart, document.ContentEnd).Text = text;
}
public void Encrypt(string Key, string path)
{
byte[] dt;
richTextBox1.SelectAll();
dt = Encoding.UTF8.GetBytes(GetText(richTextBox1.Document));
Rijndael ri = Rijndael.Create();
byte[] tb2 = Encoding.UTF8.GetBytes(Key);
ri.IV = *******;
ri.Key = *******;
File.Delete(path);
FileStream mem = new FileStream(path, FileMode.CreateNew);
CryptoStream stream = new CryptoStream(mem, ri.CreateEncryptor(ri.Key, ri.IV), CryptoStreamMode.Write);
StreamWriter SW = new StreamWriter(stream);
SW.Write(Encoding.UTF8.GetString(dt));
SW.Close();
SW.Dispose();
mem.Close();
}
public void Decrypt(string path, string Key)
{
byte[] dt;
dt = File.ReadAllBytes(path);
Rijndael ri = Rijndael.Create();
byte[] tb2 = Encoding.UTF8.GetBytes(Key);
ri.IV = *******;
ri.Key = *******;
MemoryStream mem = new MemoryStream(dt, true);
CryptoStream stream = new CryptoStream(mem, ri.CreateDecryptor(ri.Key, ri.IV), CryptoStreamMode.Read);
StreamReader SR = new StreamReader(stream);
richTextBox1.SelectAll();
SetText(richTextBox1.Document,SR.ReadToEnd());
SR.Close();
stream.Flush();
mem.Close();
}
Ich hoffe mir kann jemand helfen.
PS: In Windows Forms hats ganz einfach mit dem .rtf funktioniert. Warum ist das in WPF so kompliziert?!?
Ergänzung ()
Keiner eine Idee?