Autor
|
Tema: Como puedo determinar el tamaño de un diccionario creado en C++?? (Leído 3,219 veces)
|
dato000
Desconectado
Mensajes: 3.034
|
Bueno, no me quiero extender mucho, solo quiero crear un diccionario con un rango de numeros de 10 cifras desde el 1.000.000.000 hasta el 9.999.999.999, y me surgio la duda, cuanto podria pesar tal archivo, como puedo determinar el tamaño de ese diccionario, quedara taaaaan pesado como creo??
además, puedo generarlo de una vez con extension .lst o es necesario hacer alguna conversion?
Como lo imprimirian uds?? con arreglos, vectores o listas??
|
|
|
En línea
|
|
|
|
eferion
Desconectado
Mensajes: 1.248
|
Pues depende.
Si lo almacenas en memoria necesitas 64 bits por cada número, cógete el tamaño medio y máximo ( o aproximado si eres capaz de calcularlo ) y multiplica ese numero por 8 para calcular los requisitos de memoria.
Si lo almacenas en un archivo de texto tienes dos posibles escenarios:
* Se almacena como un archivo binario, los requisitos de espacio son los mismos que los calculados antes, 8 bytes por número.
* Se almacena como archivo formateado ( XML, INI, TXT legible, ... ) Depende del formato elegido, pero como norma general será siempre superior a ( 10 + 1 ) * cifras_en_el_diccionario. El 10 sale del número de cifras que tiene el archivo de texto y el suponiendo un carácter de separación ( lo normal es que acabe siendo más de uno )
|
|
|
En línea
|
|
|
|
dato000
Desconectado
Mensajes: 3.034
|
entonces seria como por cada numero se ocupan 8 bytes???
seria de 1.000.000.000 a 9.999.999.999 = 8.999.999.999 numeros * * bytes = 71.999.999.992 bytes?? es correcto??
de eso serian -> 71.999.999.992 bytes * 1 KB / 1024 bytes = 70312499.9921875 KB
y de eso serian -> 70312499.9921875 * 1 MB / 1024 KB = 68664.550773621 MB
y finalmente -> 68664.550773621 MB * 1 MB / 1024 GB = 67.055 GB
serian 67 GB aprox?? es correcto??? necesitaria que me confirmaran ese dato para preaparar el espacio, no me quiero arriesgar a que se llene el disco como porque si, para que al final todo el esfuerzo sea en vano y no alcance y crashee el programa
|
|
|
En línea
|
|
|
|
0xDani
Desconectado
Mensajes: 1.077
|
Y necesitas almacenar esos números en un archivo? No te sale mejor generarlos al vuelo?
|
|
|
En línea
|
I keep searching for something that I never seem to find, but maybe I won't, because I left it all behind!
I code for $$$ Hago trabajos en C/C++ Contactar por PM
|
|
|
dato000
Desconectado
Mensajes: 3.034
|
Y necesitas almacenar esos números en un archivo? No te sale mejor generarlos al vuelo?
Pero entonces como puedo generar ese rango para que se use en un programa para que compare con seguridad WPA???
|
|
|
En línea
|
|
|
|
eferion
Desconectado
Mensajes: 1.248
|
Hombre, generar ese rango lo puedes hacer con un for unsigned long long numero; for ( numero=1000000000; numero<=9999999999; ++numero ) { ... }
Lo que no se yo es la viabilidad de probar por fuerza bruta ese rango de claves... suponiendo que pudieses probar 1000 claves por segundo probar todo el rango te llevaría: 2450 horas... 104 días
|
|
|
En línea
|
|
|
|
|
Mensajes similares |
|
Asunto |
Iniciado por |
Respuestas |
Vistas |
Último mensaje |
|
|
no puedo borrar pdf recien creado en vb.net
.NET (C#, VB.NET, ASP)
|
cbr20
|
5
|
8,679
|
6 Junio 2013, 10:16 am
por cbr20
|
|
|
No puedo introducir diccionario
Wireless en Linux
|
TDKMAS
|
3
|
3,274
|
16 Julio 2013, 18:44 pm
por TDKMAS
|
|
|
No puedo contestar a mi propio post creado
Sugerencias y dudas sobre el Foro
|
++c
|
2
|
3,598
|
23 Mayo 2014, 19:29 pm
por ++c
|
|
|
¿como puedo abrir un diccionario .ist grande?
Hacking Wireless
|
Henyckma
|
4
|
3,766
|
8 Junio 2015, 04:23 am
por WHK
|
|
|
[APORTE] [PowerShell] RAR.exe | Listar version y tamaño de diccionario utilizado
Scripting
|
Eleкtro
|
0
|
1,129
|
2 Marzo 2024, 11:03 am
por Eleкtro
|
|