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.
Wie kann ich einen gültigen Key und Iv genrieren. Wenn es geht aus einen selbst ausgedachten wort also eine Password.
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();