Guten Morgen,
Ich habe ein Problem bei der Verschlüsselung und anschließenden Entschlüsselung von Binärdaten.
Ich verwende die RijndaelEnhanced Klasse (http://www.obviex.com/samples/EncryptionWithSalt.aspx)
Und zwar die Funktion der Klasse:
RijndaelEnhanced(string passPhrase,
string initVector)
Das Problem ist das ich Binärdaten verschlüsseln möchte. Ich habe aber keine Ahnung wie ich diese aus einer z.B Bilddatei lesen kann - verschlüsseln/entschlüsseln kann.
Kann mir da jemand helfen? Mein großes Problem ist dass ich nicht verstehe wie ich mit den Binärdaten verfahren muss.
Ich will die Binärdaten lesen, verschlüsseln/entschlüsseln und anschließend schreiben können.
Liebe Grüsse
Hallo apid0x,
mit Hilfe eines Steams kannst Du zum Beispiel eine Bilddatei auslesen und auch verschlüsseln oder entschlüseln
Frohe WEihnachten
Beim Lesen der Binärdaten liegts ja nicht richt wirklich.
Sagen wir mal ich habe ein ByteArray byteArr vor mir. Ich habe jetzt keine Ahnung wie ich das an
public string Encrypt(byte[] plainTextBytes)
abgebe und den Crypttext (also die verschlüsselten Binärdaten) wieder an
public string Decrypt(byte[] cipherTextBytes)
Abgebe und die in eine Datei schreibe so das sie auch noch funktioniert :S
Frohe Weihnachten & Liebe Grüsse!
String verschluesselt = Encrypt(byteArr);
in verschluesselt steht jetzt die Verschlüsselten Daten
das kannst Du jetzt einafach mit einem FileStream in eine Datei schreiben
FroheWeihnachten
Okay das funktioniert so weit. Das Problem ist nur wie bekomme ich bei Decrypt den String in ein Bytearray zurück das sich dann schreiben lässt?
Übrigens danke für Ihre Geduld 😁
Hallo,
soweit ich im Source zu deiner benutzten Library gesehen habe, gibt es eine Decrypt ToBytes Methode welche als Eingabeparameter ein Byte-Array möchte, und dir das entschlüsselte ebenso als Byte-Array zurückgibt:
/// <summary>
/// Decrypts a base64-encoded cipher text value and generates a byte array
/// of plain text data.
/// </summary>
/// <param name="cipherTextBytes">
/// Byte array containing encrypted data.
/// </param>
/// <returns>
/// Byte array containing decrypted value.
/// </returns>
public byte[] DecryptToBytes(byte[] cipherTextBytes)
{
.
.
.
}
Grüsse,
Egon
/edit: Ach ja, es gibt auch eine überladung, welche als Eingabe einen String möchte und ein Byte-Array zurückliefert. Ich glaube die suchst du.
egrath's Blog: http://egonrath.eg.funpic.de/wordpress
Danke egrath, Ihre Lösung hat geholfen. Ich habe die zu verschlüsselnden Daten direkt an das byte[] Argument der Encrypt Funktion abgegeben und bei der Entschlüsselung DecryptToBytes verwendet.
Mit freundlichen Grüssen.
P.S: Danke übrigens auch an blackcoin!