#15 Noviembre 12, 2018, 04:32:47 PM Ultima modificación: Noviembre 12, 2018, 04:35:44 PM por kostra
No me sale xdd
Niu baje tu ejemplo con el movil de mi madre (desde donde te hablo xd) y lo pase al pc, lo abri, lo ojeé e hice copypaste de los scripts sin ediciones, y lo del creation code lo adapte con un testeo... Tengo la array 1d resp con longitud 60 entonces asi lo adapte:

[gml]var datos = resp;
show_message(string(datos)); //me sale bien creo, sale algo como {,{,1,1,0,1,0,1,0,0,0....,}, } con los 60
var cifra = cifrar_binarios(datos);
ini_save(fname,sect,"resp",cifra); //no me vuelvas a preguntar que hace ini_save xdd el caso es que graba una string muy corta, supongo que es pk agarra de 4 en 4
test = ini_load(fname,sect,"resp",-1); //carga bien el string que guarde antes...
descifra = descifrar_binarios(test,60); //tambien puse array length 1d(datos) y da lo mismo xd
show_message(string(descifra)); //aqui lo que no encaja, me devuelve unos y ceros, pero me devuelve pocos y no tienen nada que ver con los 60, ademas, necesito una array aunque supongo que esa parte ya se buscarme la vida con las funciones string xd[/gml]
[spoiler="ola k ase clickarme o k ase"]la imagen no se quita xD
[/spoiler]

No veo nada erróneo. De hecho, hice la prueba con 60 unos y ceros también, a ver si con tantos el script fallaba:
[gml]
//PRUEBA DEL SCRIPT

//Datos a cifrar
var datos = array(
    0, 0, 1, 1,
    0, 0, 0, 1,
    1, 0, 1, 1,
    0, 1, 1, 1,
    0, 1, 0, 0,
    0, 1, 1, 1,
    0, 1, 1, 1,
    1, 1, 0, 0,
    0, 0, 0, 1,
    1, 1, 1, 1,
    0, 1, 1, 0,
    1, 0, 0, 1,
    1, 0, 1, 0,
    1, 0, 0, 1,
    1, 0, 1, 1
);

//Crear cifrado
var cifra = cifrar_binarios(datos);

//Mostrar en pantalla
show_debug_message( cifra );

//Guardar y cargar en un INI
ini_open('datos.ini');
ini_write_string('datos', 'cifrado', cifra);
ini_close();

ini_open('datos.ini');
var cifra2 = ini_read_string('datos', 'cifrado', '');
ini_close();

//Descifrar contenido cifrado
var descifra = descifrar_binarios( cifra2, array_length_1d(datos) );

//Mostrar en pantalla
show_debug_message( descifra );
if array_equals(datos, descifra) {
    show_debug_message( '¡Tienen los mismos valores!' );
}
[/gml]
El resultado en la consola es éste:
dblhehhmbpgjkjl
{ { 0,0,1,1,0,0,0,1,1,0,1,1,0,1,1,1,0,1,0,0,0,1,1,1,0,1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,0,1,1,0,1,0,0,1,1,0,1,0,1,0,0,1,1,0,1,1 },  }
¡Tienen los mismos valores!

O sea, que la cantidad de datos no daña el proceso de cifrado, incluso si se extraen de un archivo ini.


Como primera depuración, podrías omitir la parte de guardar la cadena en el ini y sólo cifrar y descifrar en el mismo código.

Si te funciona bien (debería, si no has modificado los scripts), la segunda prueba que puedes hacer es contar el número de caracteres de la cadena que se guarda en el ini. Si son sesenta dígitos a guardar, la cadena cifrada debería tener exactamente 15 caracteres. Si no tiene esos caracteres, el error está en el script que guarda el ini. Mira, así se ve el archivo que se guardó con el código de arriba:


Ahora bien,
Cita de: kostra en Noviembre 12, 2018, 04:32:47 PM
aqui lo que no encaja, me devuelve unos y ceros, pero me devuelve pocos y no tienen nada que ver con los 60
¿Cuántos unos y ceros te devuelve?
Revisa que la cadena que entra y sale del ini tenga únicamente letras minúsculas entre la a y la p. Cualquier espacio u otro caracter va a dañar los datos.

Cita de: kostra en Noviembre 12, 2018, 04:32:47 PM
ademas, necesito una array aunque supongo que esa parte ya se buscarme la vida con las funciones string xd
El script descifrar_binario() ya te devuelve un arreglo con los unos y ceros descifrados.

También ayudaría que mostraras el arreglo original (resp), la cadena que se cifra, la cadena que se guarda en el INI y la cadena que se extrae del mismo (y, sólo por si acaso, los scripts que usas para guardar y cargar xdddd).
alaberga regué el café.

BA:STFW&RTFM

Nada, no me sale el ultimo debug. Adjunto imagen y no, no edite script, la unica diferencia es que no uso el script array (pero gracias igual me servira en el futuro xd
[spoiler="ola k ase clickarme o k ase"]la imagen no se quita xD
[/spoiler]

Pero haz todos los pasos y muestra los resultados de todos los debug xd.
alaberga regué el café.

BA:STFW&RTFM

Debe ser bien mamón usar el foro en el movil y sobre todo poner los problemas del codigo asi.
Hace rato no había temas tan populares, sigan asi  ;D
Cita de: Fenris78Si un tema os resulta de interes y veis que hay poca información, la mejor solucion no es quejarse o pedir sin pensar, sino sugerir algo bien planteado o aportarlo vosotros mismos.
Cita de: CalioSomos desarrolladores independientes y, por lo tanto, no tenemos por qué guiarnos por las tendencias del mercado.

Peor es no poder ni compilar por culpa de no tener wifi T.T espero sea en menos de dos semanas y no tarden tanto en llegar los de vodafon xd

PD Niu, por si acaso borre algo sin querer al borrar los mil comentarios xd, cooie y pegue de nuevo los scripts completamente y sigue fallando el descifrado, el c8frado anda bien, salen 15 letras pero al descifrar me da la sensacion de que falla algun bucle, solo agarra una letra quiza... Pk solo me salen 4 binarios
[spoiler="ola k ase clickarme o k ase"]la imagen no se quita xD
[/spoiler]



Agarra esas 15 letras que te guarda y mételas directamente como parámetro en el script de descifrado. Así vemos si es error del mismo, o si se está cargando mal el contenido (ojo con copiar también otros caracteres).
alaberga regué el café.

BA:STFW&RTFM

#22 Noviembre 12, 2018, 11:52:22 PM Ultima modificación: Noviembre 13, 2018, 12:16:54 AM por kostra
Funciona perfectamente u.u' a ver que le pasa al ini load u.u

Edito. Correcto, en el ini load, en el value predeterminado puse -1 en vez de una string, entonces el ini load lo interpreto como real xd

Bueno arreglado y adaptado al 100% me ha costado adaptarlo justo en lo que queria pero ya esta, y por suerte me lo facilitaste al meterlos en un array en el descifrado uff xd bueno sino hubiese usado string char at xdd

GRACIAAAAAS :******
[spoiler="ola k ase clickarme o k ase"]la imagen no se quita xD
[/spoiler]