Laden...

Problem bei Binärverschlüsselung

Letzter Beitrag vor 17 Jahren 7 Posts 1.319 Views
Problem bei Binärverschlüsselung

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.

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!