Título: Como pasar una cadena char a hexadecimal por argumento a un constant char? Publicado por: ahaugas en 12 Enero 2013, 13:00 pm hola queria saber o si me pueden orientar a pasar una cadena char que obtengo desde un argumento a una cadena constant char en forma hexadecimal.
de c++ se bastante poco lo que obtengo mediante un argumento Código: unsigned char mensaje[32]; el constant char esta definido con una clave por defecto pero me gustaria sustituirlo por uno dinamico al obtener por el argumento citado arriba. Código: unsigned char aesKey[32] = { la idea es obtener: Código: unsigned char mensaje[32]; gracias si tienen alguna duda o correccion porfavor pregunten o hagan alguna sugerencia Título: Re: Como pasar una cadena char a hexadecimal por argumento a un constant char? Publicado por: avesudra en 12 Enero 2013, 14:15 pm No entiendo a que te refieres con una cadena constant char en forma hexadecimal. Quieres introducir esto:
Código: 0x53 0x54 0x55 ... Código: ahagjh89875 Una vez dicho eso para hacer lo último solo con hacer esto: Código 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 :-\ Título: Re: Como pasar una cadena char a hexadecimal por argumento a un constant char? Publicado por: ahaugas en 13 Enero 2013, 04:49 am bueno lo que quiero es que me lea la clave desde donde esta aesKey, en forma hexadecimal o en normal da igual. (la idea era hacerlo igual)
en forma estatica me lee la clave bien tanto para cifrar como descifrar, pero si lo pongo con un argumento para que sea dinamica al cifrar me lo cifra pero no descifra bien. esto es lo que tengo, es mas o menos la instruccion mas completa no voy a poner todo por que ocupa como unas tres paginas y creo que con esto es suficiente. segun las modificaciones que he hecho funciona a medias con tu ayuda, pero muchas gracias por tu esfuerzo. Código: //*********** Check the arguments ************ no sale del todo bien, y no se donde puede estar el fallo, si fuera php ya lo tendria resuelto. Título: Re: Como pasar una cadena char a hexadecimal por argumento a un constant char? Publicado por: ahaugas en 13 Enero 2013, 14:09 pm bueno una parte ya esta solucionado, solo tengo que corregir un pequeño problemilla que me queda:
la encriptacion y desencriptacion funciona correctamente al pasar los argumentos, sin embargo solo lee las 2 primeras caracteres introducidas. que puede estar fallando? utilizo el argv[2], que es el argumento con el que opero la contraseña Citar const int size = 32; unsigned char aesKey[size]; char* p; for (int i = 1; i < argc || i < size; ++i) { aesKey = (unsigned char)strtol(argv[2], &p, 16); } gracias |