Länge des Verschlüsselten Ergebnis vorher bestimmen

  • VB.NET

Es gibt 5 Antworten in diesem Thema. Der letzte Beitrag () ist von Artentus.

    Länge des Verschlüsselten Ergebnis vorher bestimmen

    Hallo Community :)

    Ich habe nochmal eine Frage zur Verschlüsselung mit AES-256.

    Ist es möglich, vorher zu bestimmen, wie lange der Verschlüsselte Byte[] sein darf?

    In meinem Projekt müssen alle verschlüsselten Daten die selbe Länge haben,
    was sie ja bei gleicher Länge des Ausgangstextes auch haben.
    Nur leider ist diese Länge zu lang :thumbdown:

    Kann ich dem AES Algorithmus also sagen, er soll sich auf eine
    Länge von X zeichen beschränken?

    Liebe Grüße
    Nein, um eine beliebige Eingabelänge zu ermöglichen muss der Algorithmus auch Ausgaben von beliebiger Länge produzieren, würdest du die Ausgabelänge begrenzen würdest du auch Informationen verlieren. Du kannst es mit Komprimieren versuchen, wenn das nicht ausreicht musst du wohl oder übel die Eingabelänge soweit beschränken, dass die Ausgabelänge stimmt.
    Danke für die schnelle Antwort.

    Ich übersetze zurzeit C++ Code, und dieser verschlüsselt einen String von 32 Zeichen
    in einen String von 44 Zeichen.

    Bei meiner VB.NET Implementierung erhalte ich aber einen String mit 107 Zeichen.

    Der Original C++ Code benutzt aber ebenfalls AES-256.
    Wie ist das möglich?

    Entschuldigung aber ich darf keinen Code Posten.
    Es kommt ja eigentlich kein String raus sondern ein Byte-Array, vielleicht liegt das Problem an dieser Konvertierung.
    Ohne Code lässt sich da schwer was sagen, aber das konkrete Verhalten eines C++-Codes könnte ich vermutlich sowieso nicht richtig ermitteln ohne mich ausführlich zu erkundigen.
    Eigentlich schon, aber es lässt sich ja ganz einfach überprüfen. Lass dir mal die Länge des Byte-Arrays ausgeben und vergleiche diese, wenn sie in beiden Sprachen gleich ist liegt es an der Konvertierung zum String, wenn nicht ist das Problem woanders.