Array Initialisierung und Memcopy mit Pointern



  • Hallöchen zusammen,

    ich habe mich gerade neu in diesem Forum angemeldet in der Hoffnung hier ein wenig Hilfe zu finden. Ich bin noch recht neu in der C++-Programmierung und versuche gerade ein Array fester Länge mittels Pointer auf andere Strukturen zu bearbeiten.
    Es geht darum ein Array fester Länge zu erzeugen und an gewissen Stellen vordefinierte Inhalte hineinzukopieren. Folgendes habe ich an Code:

    void RsaEnc::encode(unsigned char * aesKey, unsigned char * ivec) {
    
    unsigned char * enc = ( unsigned char *) calloc(64, 1);
    
    	memset(enc, 0, 32); //256 Bit Padding
    	memcpy(enc + 32, aesKey, 16); //128 Bit AesKey
    	memcpy(enc + 48, ivec, 16); //128 Bit IV (64 Bit Nonce + 64 Bit Counter)
    
    .....
    
    }
    

    die Felder "aesKey" und "ivec" sind jeweils unsigned char * der Länge 16 Byte.

    Kann das so überhaupt funktionieren? Wie kann ich soetwas anständig debuggen?

    Ich hoffe man kann mir weiterhelfen.

    MfG



  • Tittipoco schrieb:

    Es geht darum ein Array fester Länge zu erzeugen

    Warum benutzt du dann calloc?

    Tittipoco schrieb:

    Kann das so überhaupt funktionieren?

    Wenn aesKey und ivec lang genug sind ...

    Tittipoco schrieb:

    Wie kann ich soetwas anständig debuggen?

    Definiere "anständig debuggen".



  • Hi Manni,

    was sollte ich anstelle von calloc nehmen? Einfach das Array mit unsigned char enc[64] erzeugen?

    Nun, mit anständig debuggen meine ich sich den Inhalt des Arrays anschauen zu können. Am besten in Hex-Form



  • Tittipoco schrieb:

    Einfach das Array mit unsigned char enc[64] erzeugen?

    Du hast gesagt, dass du genau das tun willst.

    Tittipoco schrieb:

    Nun, mit anständig debuggen meine ich sich den Inhalt des Arrays anschauen zu können. Am besten in Hex-Form

    Ein C++-Debugger, der das nicht kann, müsste sicher noch aufwändig programmiert werden.


Anmelden zum Antworten