Laden...

Cryptography Read/Write

Erstellt von Ayke vor 16 Jahren Letzter Beitrag vor 16 Jahren 1.310 Views
Ayke Themenstarter:in
643 Beiträge seit 2006
vor 16 Jahren
Cryptography Read/Write

Hi

Ich weiss das dieses Thema schon einige male durchgekaut wurde. Nur stell ich mich irgenwie depert an.

Ich möchte einen Text verschlüsselt speichern und auf einen Webserver entschlüsseln.

Hier sind meine Fragen und Probleme.

  1. Wie kann ich einen gültigen Key und Iv genrieren. Wenn es geht aus einen selbst ausgedachten wort also eine Password.

  2. Wie wäre es möglich den Key und die Iv so zu sichern das man diese nicht ohne weitere Probleme aus den speicher lesen kann.

            //entschlüssln

            byte[] key = new byte[32];
            byte[] iv = new byte[16];

            StreamReader sr = new StreamReader("hallo.txt");
            string value = sr.ReadLine();

            key = System.Text.ASCIIEncoding.ASCII.GetBytes("dasd32rfwefff2345r23f23ffsdsdf32");
            iv = System.Text.ASCIIEncoding.ASCII.GetBytes("dasd32r312gdffwe");
            System.Security.Cryptography.AesCryptoServiceProvider aes = new System.Security.Cryptography.AesCryptoServiceProvider();
            aes.Key = key;
            aes.IV = iv;
            MemoryStream ms = new MemoryStream(System.Text.ASCIIEncoding.ASCII.GetBytes(value));


            System.Security.Cryptography.CryptoStream cs = new System.Security.Cryptography.CryptoStream(ms, aes.CreateDecryptor(), System.Security.Cryptography.CryptoStreamMode.Read);

            StreamReader sw = new StreamReader(cs);
            MessageBox.Show(sw.ReadToEnd());
            sw.Close();
            sr.Close();
            ms.Close();
            cs.Close();

		//verschlüsseln

            byte[] key = new byte[32];
            byte[] iv = new byte[16];
            key = System.Text.ASCIIEncoding.ASCII.GetBytes("dasd32rfwefff2345r23f23ffsdsdf32");
            iv = System.Text.ASCIIEncoding.ASCII.GetBytes("dasd32r312gdffwe");
            System.Security.Cryptography.AesCryptoServiceProvider aes = new System.Security.Cryptography.AesCryptoServiceProvider();
            aes.Key = key;
            aes.IV = iv;
            MemoryStream ms = new MemoryStream();


            System.Security.Cryptography.CryptoStream cs = new System.Security.Cryptography.CryptoStream(ms, aes.CreateEncryptor(), System.Security.Cryptography.CryptoStreamMode.Write);

            StreamWriter sw = new StreamWriter(cs);
            sw.Write("Hallo !!");
            sw.Close();

            StreamWriter stw = new StreamWriter("hallo.txt");
            stw.Write(System.Text.ASCIIEncoding.ASCII.GetString(ms.ToArray()));
            stw.Close();