mega64 (easy encriptado de strings)

Publicado por kostra, Abril 16, 2022, 03:09:32 PM

Tema anterior - Siguiente tema

0 Miembros y 1 Visitante están viendo este tema.

kostra

NOTA IMPORTANTE!!! No se flipen con el tamaño de la password (no es necesario) pk peta con stack overflow!! (me acabo de dar cuenta xd)

Nombre del creador: Kostrón Sobakón
Breve descripción de su función: Encripta una string con apariencia de base64 pero cuando alguien trate de decodificarlo verá que no conseguirá nada aunque lo decodifique varias veces en cadena, pues pa eso está la "password" c:
Versión GM utilizada: GMS2.. pero meh, seguro sirve para todos o casi todos los GM
CódigoS (son 2, el encoder y el decoder):
[gml]
#region mega64_encode
   function mega64_encode(_string,_password) {
      var _str = _string;
      for (var i = 0; i < string_length(_password); ++i) {
         _str = string_char_at(_password,i+1)+base64_encode(_str);
      }
      return _str;
   }
#endregion
#region mega64_decode
   function mega64_decode(_mega64_string,_password) {
      var _str = _mega64_string;
      var _reversed_pass = "";
      for (var i = 0; i < string_length(_password); ++i) {
         _reversed_pass += string_char_at(_str,0);
         _str = string_copy( _str,2,string_length(_str)-1 );
         _str = base64_decode(_str);
      }
         
      var _pass = "";
      for (var i = 0; i < string_length(_reversed_pass); ++i) {
         _pass += string_char_at( _reversed_pass,string_length(_reversed_pass)-i );
      }
         
      if (_password == _pass) { return _str; }
      else { return false; }
   }
#endregion
[/gml]

Adaptaciones a los antiguos scripts...
[gml]
///mega64_encode(string,password)

var _string = argument[0];
var _password = argument[1];
var _str = _string;
for (var i = 0; i < string_length(_password); ++i) {
   _str = string_char_at(_password,i+1)+base64_encode(_str);
}

return _str;
[/gml]
[gml]
///mega64_decode(mega64_string,password)

var _mega64_string = argument[0];
var _password = argument[1];
var _str = _mega64_string;
var _reversed_pass = "";
for (var i = 0; i < string_length(_password); ++i) {
   _reversed_pass += string_char_at(_str,0);
   _str = string_copy( _str,2,string_length(_str)-1 );
   _str = base64_decode(_str);
}
         
var _pass = "";
for (var i = 0; i < string_length(_reversed_pass); ++i) {
   _pass += string_char_at( _reversed_pass,string_length(_reversed_pass)-i );
}
         
if (_password == _pass) { return _str; }
else { return false; }
[/gml]

Supongo que no hace falta explicar su uso a detalle... se usa igual que el base64 pero con una pasword que tú te inventes.. poniendo siempre la misma que uses al encriptar.. para desencriptar, que si no la lías parda!! D:
Sé que se podría aprovechar mejor la pass, pero lo hice rápido, si alguna vez lo actualizo avisaré. Se aceptan sugerencias (otra cosa es que haga caso xD)

Danth

vaya, justo acabo de terminar de terminar de leer un documento en donde se explica el uso del base64 en gm, y estaba en plan.....
nmms eso lo puede desencriptar cualquier vato xd.

funciona perfecto, pero una duda, para qué sirve esa "función" db()
en gms1 pone error, igual la puse como comentario y el script funciona como debe. (o almenos a mi me funciona como en teoría debería funcionar (? )

wen aporte u.u

Johann

Esa función db es una función de debug propiade él, seguro se le olvidó borrarla XD

kostra

Cita de: Danth en Julio 02, 2022, 01:16:33 PMvaya, justo acabo de terminar de terminar de leer un documento en donde se explica el uso del base64 en gm, y estaba en plan.....
nmms eso lo puede desencriptar cualquier vato xd.

funciona perfecto, pero una duda, para qué sirve esa "función" db()
en gms1 pone error, igual la puse como comentario y el script funciona como debe. (o almenos a mi me funciona como en teoría debería funcionar (? )

wen aporte u.u
lo que dijo johann xD

gracias por avisar, post editado.

PD: la skin nueva mola, pero, qué pasó con el bbcode?

80 Visitantes, 0 Usuarios