No entiendo a que te refieres con una cadena constant char en forma hexadecimal. Quieres introducir esto:
¿Y que el programa lo guarde en aesKey? O quieres introducir esto:
Y que el programa lo guarde en aesKey.
Una vez dicho eso para hacer lo último solo con hacer esto:
#include<stdio.h>
unsigned char aesKey[32] = {
0x53, 0x28, 0x40, 0x6e, 0x2f, 0x64, 0x63, 0x5d, 0x2d, 0x61, 0x77, 0x40, 0x76, 0x71, 0x77, 0x28,
0x74, 0x61, 0x7d, 0x66, 0x61, 0x73, 0x3b, 0x5d, 0x66, 0x6d, 0x3c, 0x3f, 0x7b, 0x66, 0x72, 0x36
};
int main (int argc, char*argv[])
{
//Aqui se copia todo lo que hay en argv[1] a aesKey
//Esto puedes obviarlo , es solo para mostrarlo por pantalla en formato hexadecimal.
for(register int i = 0; i!=32;++i)
{
}
return 0;
}
Con este último código yo que tu tendría cuidado pues solo copia los carácteres que hay, pero si dejas esa por defecto, te va a sustituir los 4 o 5(el largo de lo que introduzcas) primeros pero no los demás hasta llegar hasta 32. Así que mi consejo es que si hay parámetros hagas esto pero antes inicialices a 0 todos los elementos de aesKey con un for o un while.
¡Un saludo!
PD: Perdon si no es lo que quieres