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"; } }