elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: AIO elhacker.NET 2021 Compilación herramientas análisis y desinfección malware


  Mostrar Mensajes
Páginas: 1 ... 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 [49] 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 ... 122
481  Programación / Ejercicios / Re: Reto/Juego Ejercicios en Python en: 4 Septiembre 2010, 22:17 pm
Código
  1. from math import sqrt
  2.  
  3. def isprime(num):
  4.    if num <2:
  5.      return False
  6.    i=2
  7.    while i <=sqrt(abs(num)):
  8.      if num%i == 0:
  9.         return False
  10.      i+=1
  11.    return True
  12.  
  13. min=int(raw_input("Min:  "))
  14. max=int(raw_input("Max: "))
  15.  
  16. for num in range(min,max+1):
  17.   if isprime(num):
  18.      print num

No lo probé todavía pero debería funcionar si no exageran con el rango  ;D. Se podría hacer una implementación por probabilidades pero igualmente por lo menos para mi no lo vale.   :D

Voy a tomarme la libertad de poner dos retos, uno fácil y otro no tanto, así vemos si se suma mas gente.

El único reto que hay que completar para elegir el próximo reto es el fácil, pero por supuesto el de dificultad media lo pongo para quien quiera hacerlo.  :D

Reto fácil:

Desarrollar una función que permita insertar en una secuencia de dígitos los caracteres guión
cada 8 dígitos a partir del cuarto dígito, y un espacio cada 8 dígitos a partir del octavo dígito.
Si la cantidad de dígitos no fuera múltiplo de 8 se deberá adicionar ceros por la izquierda.
Ejemplo: 

472348237388539055823012 queda como 4723-4823 7388-5390 5582-3012.


Reto medio:

Desarrollar una función que permita insertar el nombre de X usuario y devolver cual es su actividad, siempre que sea posible, analizando https://foro.elhacker.net/who.html.

Saludos!  :D
482  Programación / Programación C/C++ / Re: será error del compilador? en: 4 Septiembre 2010, 17:57 pm
Citar
1-. me dá error en la linea 10 (copiando exactamente el codigo)
un error raro expected ")" before string constant (me perece raro porque tengo todos mis paréntesis completos

Raro, porque el código expuesto es correcto. Proba de crear el projecto y el source nuevamente, para ir descartando posibilidades.

Citar
2-. me da curiosidad esa sintaxis diferente en vez de main... es primera vez que la veo (soy medio pollo en c) ya la googlearé para ver que rayos es,


No hace falta googlear mucho, puedes revisar las chinchetas:

Principios básicos de programación Windows

Citar
pero eso estaba afectado que no me compilara/coriera?

No.
En cuanto a la librería, te faltaba enlazar la librería correcta como bien menciono rob1104, pero igualmente esa tampoco era la causa del error original, porque dada esa situación lo normal es que el linker te avise sobre las referencias indefinidas.

Lo ideal es que la directiva para el linker la pases desde Project/Build options/Linker settings, de lo contrario estas utilizando directivas globales que afectaran a todos tus proyectos.

Saludos!

483  Foros Generales / Sugerencias y dudas sobre el Foro / Re: Horrible funcionamiento del foro en Google chrome 6 en: 4 Septiembre 2010, 08:34 am
Que theme? yo con el azul no tengo problemas.

484  Programación / Programación C/C++ / Re: [Duda]Obtener hash MD5 con C++ en: 4 Septiembre 2010, 07:31 am
 :laugh: ;-)

Nunca se me hubiese ocurrido que ese era tu problema, porque en el código que pusiste en C, ya tenias hecha la parte donde imprimías los caracteres, y lo hacías precisamente de esa forma  ;D.
En C++ podes usar el manipulador hex o ::setf.

Saludos
485  Programación / Programación C/C++ / Re: [Duda]Obtener hash MD5 con C++ en: 3 Septiembre 2010, 11:33 am
Lamentablemente mas no puedo hacer porque no tengo la implementación de openssl instalada, pero funcionar debería funcionar correctamente con el código que te puse al menos que dentro de la función haya errores de los cuales no estamos al tanto. En todo caso postea los errores así lo vemos.  :D

Citar
Perdona mi ignorancia compañero, pero no se que quieres decir ahí

Si, las cadenas al estilo C, deben finalizar con un carácter nulo . '\0', 0, etc. Como desconozco la tarea que realiza la función MD5, lo aclare por las dudas.

Si no sabes lo que es el carácter nulo, te recomendaría que le des un repaso al manejo de cadenas.

Saludos
486  Programación / Programación C/C++ / Re: [Duda]Obtener hash MD5 con C++ en: 3 Septiembre 2010, 09:21 am
 ;D, vamos por partes:

Primero que nada, si no solucionas los errores en un código en determinado lenguaje, no lo intentes con otro solo por probar. C++ y C comparten muchas cosas pero también difieren en otras, por tanto en gran parte de los casos lo único que vas a obtener es dolores de cabeza extras.


Citar
Y el primer argumento de la función MD5 me da un error si subsano el error anterior con un casting:
main.cpp:16: error: invalid conversion from ‘const unsigned char*’ to ‘const char*’
main.cpp:16: error:   initializing argument 1 of ‘size_t strlen(const char*)’

Normal, es lo que debería suceder debido a que son distintos tipos a pesar que compartan el mismo tamaño y los mismos requerimientos de alineación.


Citar
   
Código
  1. const unsigned char* cad1 = (unsigned char*)"Ejemplo";
  2.    unsigned char* cad2 = (unsigned char*)malloc(sizeof(char)*256);
  3.  
  4.    cad2 = MD5(cad1, strlen((char*)cad1)*sizeof(char), NULL);

No es necesario el *sizeof, al menos que en algún punto planees utilizar unicode, pero en el código actual no es lo que ocurre. Un char es 1 byte.

Proba esto:

Código
  1.  
  2. unsigned char *hash=(unsigned char*)malloc(sizeof(char)*MD5_DIGEST_LENGTH);
  3. const unsigned char cad1[]="Ejemplo";
  4.  //Asegurarse que hash este terminada en NULL.
  5.  MD5(cad1, strlen(reinterpret_cast<const char*>(cad1)),hash);
  6.  //O podes hacer, en este caso, sizeof(cad1), ya que cad1 en este caso no es un puntero si no un array.
  7.  cout<<"Frase: "<<cad1<<endl<<"Hash: "<<hash<<endl;


Citar
Porqué si paso el code de C a C++ me da error con los parámetros de las funciones cuando lo dejo EXACTAMENTE IGUAL?

Habría que ver que tipos de errores, pero teniendo en cuenta que son dos lenguajes distintos no debería ser una sorpresa. Pasar de un lenguaje a otro sin mas como mínimo te garantiza algún que otro error.

Citar
2.- Porqué C++ es así de ca**** con los tipos de las variables y C no?

No debería? es porque C++ utiliza un chequeo de tipos mas estricto, que en gran parte de los casos es una ventaja y no al revés.

Citar
3- Cómo voy a hacer bien el code si me obliga el compilador a usar castings por todas partes?

El problema es que estas acostumbrado a utilizar old-style casting, común en C pero obsoleto en C++. De hecho C++ provee toda una nueva gama de operadores para dicha tarea.

C++ Casting operators

Saludos!
487  Programación / Programación C/C++ / Re: [Duda]Obtener hash MD5 con C++ en: 3 Septiembre 2010, 07:33 am
En estos momentos no tengo la implementación de openssl como para probar, pero viendo el código, se ven dos errores:

Código
  1. cad1 = (unsigned char*)"ejemplo";

Las cadenas literales son constantes, por tanto, el puntero debería tener el calificador const. Ademas, generalmente las cadenas literales se encuentran en una sección de solo lectura.

En casos como estos, lo ideal es:

Código
  1. const unsigned char* cad1="Ejemplo";

lo cual implica que cualquier intento de asignación posterior devuelve un error.

O bien, inicializar un arreglo:

Código
  1. unsigned char cad1[]="Ejemplo";

El segundo error:

Código
  1. cad2 = MD5(cad1, sizeof(cad1), cad2);

cad1 es un puntero, sizeof(cad1) devolverá 4 bytes (tamaño del puntero) y sizeof(*cad1) devolverá el tamaño del primer elemento de la cadena, es decir 1 byte, lo cual es incorrecto debido al objetivo de ese parámetro.

Saludos!
488  Programación / Programación C/C++ / Re: Problema con programa... en: 2 Septiembre 2010, 22:46 pm
Citar
Por cierto,Hay alguna manera de agregar una linea sin usar el cout sin nada entre ""? Probe el \n y no sirvio
   
Código
  1.   cout<<"Cad1 \n";
  2.   cout<<"\n";
  3.   cout<<endl;
  4.   cout<<"Cad2"<<endl;
  5.   cout<<"Cad3"<<"\n";
  6.   etc>
  7.  
489  Programación / Programación C/C++ / Re: Duda con %i en: 2 Septiembre 2010, 19:04 pm
Ejecuta la aplicacion desde la carpeta del proyecto, y tendrás el error. Igualmente ni siquiera hace falta ver un error en tiempo de ejecución, ya el hecho que imprima caracteres aleatorios y acceda a posiciones de memoria invalidas implica que obviar los parámetros en printf es un error.

Saludos

 
490  Programación / Programación C/C++ / Re: Duda con %i en: 2 Septiembre 2010, 18:27 pm
Un error en tiempo de ejecución. Probalo tranquilo que no vas a romper nada  ;D.
Páginas: 1 ... 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 [49] 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 ... 122
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines