public Form_Dashboard(int userID, string key) { InitializeComponent(); this.userID_H = userID; this.key_User_Cryt = key; // Datenbankverbindungsaufbau using (DatabaseConnectingHandler db = new DatabaseConnectingHandler()) { // hier wird das ByteArray auf Null gesetzt ! byte[] PictureLoad = null; //Abruf der Daten aus den Datenbank des Users. foreach (var pat in db.Patients) { if (pat.LoginId_Login == userID_H) { tbx_pd_anrede.Text = AesOperation.DecryptString(key_User_Cryt, pat.Anrede); tbx_pd_vorname.Text = AesOperation.DecryptString(key_User_Cryt, pat.Vorname); tbx_pd_nachname.Text = AesOperation.DecryptString(key_User_Cryt, pat.Nachname); tbx_pd_strasse.Text = AesOperation.DecryptString(key_User_Cryt, pat.Straße); tbx_pd_nr.Text = pat.Nr.ToString(); tbx_pd_plz.Text = pat.PLZ.ToString(); tbx_pd_ort.Text = AesOperation.DecryptString(key_User_Cryt, pat.Ort); tbx_pd_geburtstag.Text = AesOperation.DecryptString(key_User_Cryt, pat.geb); tbx_pd_geburtsort.Text = AesOperation.DecryptString(key_User_Cryt, pat.ort_geb); tbx_pd_telefonnummer.Text = AesOperation.DecryptString(key_User_Cryt, pat.ort_geb); tbx_pd_krankenkasse.Text = AesOperation.DecryptString(key_User_Cryt, pat.Krankenkasse); tbx_pd_kk_nummer.Text = AesOperation.DecryptString(key_User_Cryt, pat.KrankenkassenNR); tbx_pd_personalberater_nr.Text = AesOperation.DecryptString(key_User_Cryt, pat.PersonalausweisNR); tbx_pd_fuehrerschein_nr.Text = AesOperation.DecryptString(key_User_Cryt, pat.FührerscheinNR); // Falls Bilddaten nicht in der Datenbankvorhanden sind wir ein Dummy-Bild geladen. // Dieses Dummybild liegt in einem Verzeichnis. if (pat.Image == null) { FileStream fs = new FileStream(@"c:\tmp\Aleksandar_Barisic.PNG", FileMode.Open, FileAccess.Read); picbox_pd_meinBild.SizeMode = PictureBoxSizeMode.StretchImage; picbox_pd_meinBild.Image = Image.FromStream(fs); } else if (pat.Image != null) { PictureLoad = (byte[])(pat.Image); MemoryStream ms = new MemoryStream(PictureLoad); picbox_pd_meinBild.SizeMode = PictureBoxSizeMode.StretchImage; picbox_pd_meinBild.Image = Image.FromStream(ms); } } } } }
private void AddUser(string username, string password, string confirmPass) { foreach (var user in db.Logins) { if (user.Username.Equals(username)) { MessageBox.Show("Dieser Nutzer exsistiert !"); return; } } if (password != confirmPass) { MessageBox.Show("Password stimmt nicht überein!"); } else if (password.Length < 8) { MessageBox.Show("Das Passwort muss mindestens 8 Zeichen haben."); } else { string Epass = HPass(password); login.Username = username; login.Password = Epass; /////// Wichtiger Block /////// // Hier wird Verschlüsselungs_Key_generiert // Der Schlüssel wird nur ein einziges mal erzeugt. Wenn dieser Schlüsselverloren geht // könnne die Daten nicht wieder hergestellt werden. login.AES_ID = AesOperation.GenerateCoupon(32); // Ausgabe des Schlüssels in eine MessageBox MessageBox.Show("Der Security-Key Lautet:", login.AES_ID); tbx_reg_login.Text = String.Empty; tbx_reg_passwd.Text = String.Empty; tbx_reg_confirm_passwd.Text = String.Empty; db.Logins.Add(login); db.SaveChanges(); //Hier wird gezeigt das die Registrierung abgeschlossen ist. MessageBox.Show("Registrierung ist angeschlossen."); } }
// Hier werden die Daten in die Datenbank gespeichert und gleich Zeitig über die Klasse "AesOperation" verschlüsselt und EndSchlüsselt private void Btn_speichern_Click(object sender, EventArgs e) { DatabaseConnectingHandler db = new DatabaseConnectingHandler(); /// Table Persönliche Daten /// Die Abhängkeiten klar rausarbeiten... Patients pat = new Patients(); Dokumentes dc = new Dokumentes(); if (picbox_pd_meinBild.ImageLocation != null) { byte[] imgData; imgData = File.ReadAllBytes(picbox_pd_meinBild.ImageLocation); pat.Image = imgData; } else if (picbox_pd_meinBild.Image != null || picbox_pd_meinBild.Image == null) { byte[] PictureLoad = (byte[])(pat.Image); pat.Image = PictureLoad; } foreach (var control in this.Controls) { if (control is TextBox) { if (((TextBox)control).Text == "") { ((TextBox)control).Text = " "; } } } // pat.LoginId_Login = userID_H; if (pat.LoginId_Login == 0) { // AesOperation.EncrytString der direkte Aufruf der Verschlüsselungsklasse mit der Methode EncryptString. Equl zu Decrypt... pat.LoginId_Login = userID_H; pat.Anrede = AesOperation.EncryptString(key_User_Cryt, tbx_pd_anrede.Text); pat.Vorname = AesOperation.EncryptString(key_User_Cryt, tbx_pd_vorname.Text); pat.Nachname = AesOperation.EncryptString(key_User_Cryt, tbx_pd_nachname.Text); pat.Straße = AesOperation.EncryptString(key_User_Cryt, tbx_pd_strasse.Text); if (tbx_pd_nr.Text == "") { pat.Nr = 0; } else if (tbx_pd_plz.Text == "") { pat.PLZ = 0; } else { pat.Nr = Int16.Parse(tbx_pd_nr.Text); pat.PLZ = Int16.Parse(tbx_pd_plz.Text); } pat.Ort = AesOperation.EncryptString(key_User_Cryt, tbx_pd_ort.Text); pat.geb = AesOperation.EncryptString(key_User_Cryt, tbx_pd_geburtstag.Text); pat.ort_geb = AesOperation.EncryptString(key_User_Cryt, tbx_pd_geburtsort.Text); pat.Telefon = AesOperation.EncryptString(key_User_Cryt, tbx_pd_telefonnummer.Text); pat.Krankenkasse = AesOperation.EncryptString(key_User_Cryt, tbx_pd_krankenkasse.Text); pat.KrankenkassenNR = AesOperation.EncryptString(key_User_Cryt, tbx_pd_kk_nummer.Text); pat.PersonalausweisNR = AesOperation.EncryptString(key_User_Cryt, tbx_pd_personalberater_nr.Text); pat.FührerscheinNR = AesOperation.EncryptString(key_User_Cryt, tbx_pd_fuehrerschein_nr.Text); // dc.Id_Dokumente = userID_H; // dc.Datei = DataFile; db.Patients.Add(pat); //db.Dokumentes.Add(dc); db.SaveChanges(); lbl_Dashboard_Status.ForeColor = Color.Red; lbl_Dashboard_Status.Text = "GESPEICHERT"; } else if (pat.LoginId_Login == userID_H) { MessageBox.Show("Ich bin UserID"); pat.LoginId_Login = userID_H; pat.Anrede = AesOperation.EncryptString(key_User_Cryt, tbx_pd_anrede.Text); pat.Vorname = AesOperation.EncryptString(key_User_Cryt, tbx_pd_vorname.Text); pat.Nachname = AesOperation.EncryptString(key_User_Cryt, tbx_pd_nachname.Text); pat.Straße = AesOperation.EncryptString(key_User_Cryt, tbx_pd_strasse.Text); if (tbx_pd_nr.Text == "") { pat.Nr = 0; } else if (tbx_pd_plz.Text == "") { pat.PLZ = 0; } else { pat.Nr = Int16.Parse(tbx_pd_nr.Text); pat.PLZ = Int16.Parse(tbx_pd_plz.Text); } pat.Ort = AesOperation.EncryptString(key_User_Cryt, tbx_pd_ort.Text); pat.geb = AesOperation.EncryptString(key_User_Cryt, tbx_pd_geburtstag.Text); pat.ort_geb = AesOperation.EncryptString(key_User_Cryt, tbx_pd_geburtsort.Text); pat.Telefon = AesOperation.EncryptString(key_User_Cryt, tbx_pd_telefonnummer.Text); pat.Krankenkasse = AesOperation.EncryptString(key_User_Cryt, tbx_pd_krankenkasse.Text); pat.KrankenkassenNR = AesOperation.EncryptString(key_User_Cryt, tbx_pd_kk_nummer.Text); pat.PersonalausweisNR = AesOperation.EncryptString(key_User_Cryt, tbx_pd_personalberater_nr.Text); pat.FührerscheinNR = AesOperation.EncryptString(key_User_Cryt, tbx_pd_fuehrerschein_nr.Text); // Heir das Bild Laden ! Eine Klasse einbauen! byte[] PictureLoad = (byte[])(pat.Image); pat.Image = PictureLoad; /// Hier wird die Datenbank upgedatet! /// db.Entry(pat).State = EntityState.Modified; db.SaveChanges(); lbl_Dashboard_Status.ForeColor = Color.Red; lbl_Dashboard_Status.Text = "GESPEICHERT"; } }