Feedback

C# - symetrische verschlüsselung via stream

Veröffentlicht von am 29.08.2008
(1 Bewertungen)
ver- oder entschlüsselt einen stream via symetrischer verschlüsselung
GFU-Schulungen  [Anzeige]

C# 2017/2015/2013 Grundlagen

Nach Abschluss des Kurses sind Ihnen die Datentypen und Klassenbibliotheken von C# bekannt. Außerdem sind Sie in der Lage, mit Variablen umzugehen und deren Typen zu konvertieren. Sie definieren Namespaces und setzen diese ein, Sie erstellen eigene Klassen  und bauen Trouble Shooting ein.

VB.NET Komplett

Sie stehen vo der Aufgabe, individuelle Anwendungen für Windows zu schreiben. Hier ist VB.NET die optimale Sprache. Sie erlernt sich recht leicht und passt sich komplett in die .NET Umgebung von Microsoft ein. Nach der Schulung entwickeln Sie anwenderfreundliche Programme in VB.NET . Mit den objektorientierten Modellen in VB.NET erzeugen Sie außerdem wiederverwendbare Komponenten.

/*
* die verschlüsselung läuft über einen stream transformer
* verschlüsselung: inputstream -plain-> cryptotransformer -encrypted-> outputstream
* entschlüsselung: inputstream -encrypted-> cryptotransformer -plain-> outputstream
* erzeugen des IV/Keys = Rijndael rj = Rijndael.Create();
*/
             public Stream SymetricDeEncryption(bool encrypt, Stream input, Stream output, byte[] key, byte[] iv)
        {
            int buffSize = 1024;
            Rijndael rj = Rijndael.Create();
            rj.IV = iv;
            rj.Key = key;
            ICryptoTransform streamTransformer = null;
            if (encrypt)
            {
                streamTransformer = rj.CreateEncryptor(key, iv);
            }
            else
            {
                streamTransformer = rj.CreateDecryptor(key, iv);
            }
            using (CryptoStream cs = new CryptoStream(input, streamTransformer, CryptoStreamMode.Read))
            {
                int bytesRead = 0;
                byte[] buff = new byte[buffSize];
                do
                {
                    bytesRead = cs.Read(buff, 0, buffSize);
                    output.Write(buff, 0, bytesRead);
                }
                while (bytesRead > 0);
            }
            return output;
        }

Kommentare zum Snippet

 

Logge dich ein, um hier zu kommentieren!