| 

.NET C# Java Javascript Exception

5
Hallo,

die folgende Methode läuft, wenn auch nicht sehr schnell, aber darum geht es nicht. Die Daten, die innerhalb dieser Methode bearbeitet werden sollen, sind sehr sensibel zu behandeln. Nun habe ich von CryptoStream gehört und war erst einmal begeistert, weil CryptoStream mit allen Streams zusammen arbeiten können soll. Wie kann ich CryptoStream in die folgende Methode integrieren? Ich stand da vor erheblichen Schwierigkeiten.


private bool ReadWriteFile(string inFile, string outFile)
{
int r = 0;
byte[] buf = new byte[0x40000];

FileStream fsI = new FileStream(inFile, FileMode.Open, FileAccess.Read),
fsO = new FileStream(outFile, FileMode.Create, FileAccess.Write);

try
{
do
{
r = fsI.Read(buf, 0, buf.Length);
// KillOrCreate();
fsO.Write(buf, 0, r);
} while (r == buf.Length);
return true;
}
catch{return false;}

finally
{
fsI.Flush(); fsO.Flush();
fsI.Close(); fsO.Close();
}
}


Immer noch gilt, ich bin neu in C#. Jede, dem Ziel näher bringende Antwort, wird mich begeistern.
News:
12.09.2013
boga 71 5
1 Antwort
1
Einige der abgeleiteten Stream-Klassen (so z.B. CryptoStream oder BufferedStream) bieten einen Konstruktor an, dem Du ein anderes Stream-Objekt übergeben kannst. Damit kannst Du Streams zusammensetzen. Also z.B. verschlüsselt in ein File schreiben, in dem Du einen FileStream in einen CryptoStream hüllst.

Ein kleines Beispiel:
public static void Main(string[] args)
{
using (var aes = new AesManaged())
{
var data = new byte[] { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 };

using (var outStream = new MemoryStream())
{
using (var cryptoStream = new CryptoStream(outStream, aes.CreateEncryptor(), CryptoStreamMode.Write))
using (var writer = new StreamWriter(cryptoStream))
{
writer.Write(data);
}

var result = outStream.ToArray();

foreach (var b in result)
{
Console.WriteLine(b);
}
}
}

Console.ReadKey();
}


Ich sehe gerade: in der MSDN findest Du ein ausführlicheres Beispiel dazu.
12.09.2013
ffordermaier 8,4k 3 9
Vielen Dank f. d. Beisp.; was Kryptographie betrifft, meide ich MSDN absichtlich, weil oft viele Möglichkeiten verschwiegen werden. Als ich aber gerade mal "Rijndael" bei Google eingab, erhielt ich plötzlich eine gute Auswahl an Beispielen (ohne MSDN). Ich werde mich da mal etwas vertiefen. Noch einmal vielen Dank.

boga 12.09.2013

Stelle deine .net-Frage jetzt!
TOP TECHNOLOGIES CONSULTING GmbH