comment
IRC Chat
play_arrow
Este sitio utiliza cookies propias y de terceros. Si continúa navegando consideramos que acepta el uso de cookies. OK Más Información.

Conversor de textos By 2Fac3R v3.0

  • 8 Respuestas
  • 2021 Vistas

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

Desconectado 2Fac3R

  • *
  • Underc0der
  • Mensajes: 236
  • Actividad:
    5%
  • Reputación 0
  • Why be a king, when you can be a god
    • Ver Perfil
    • Escuela de Hackers & Programación
  • Skype: rockeg_18
  • Twitter: @2Fac3R
« en: Noviembre 24, 2013, 12:40:36 am »
Modifiqué un poco el código de la versión anterior, para que quedara más "bonito" hablando del punto de vista de la programación.

He creado y usado este script para uso personal, resolviendo wargames, creandolos, etc...
Código: PHP
  1. <title> Conversor de textos By 2Fac3R v3.0</title>
  2. <?php
  3. /*
  4.  * Conversor de textos
  5.  * .- Underc0de.org -.
  6.  *         v3.0 2013
  7.  * Autor: 2Fac3R
  8.  *
  9.  * Gr33tz to:
  10.  *
  11.  * xt3mp, arcangel_nigth, EddyW, ANTRAX, 11Sep, Kr34t0r, GAMARRA, SkippyCreammy, v1c0_h4ck, w4rning, Snifer,
  12.  * arthusu, Kodeinfect, [Q]3rV[0], WilyXem, m3x1c0h4ck, etc, etc...
  13.  *
  14.  * */
  15.  
  16. No tienes permisos para ver links. Registrate o Entra con tu cuenta(E_ALL);
  17.  
  18. function convertir($a, $string){ // a : eleccion, string:texto
  19.        
  20.         switch($a){
  21.                 case 'bin2hex':
  22.                         $res = No tienes permisos para ver links. Registrate o Entra con tu cuenta($string);
  23.                         break;
  24.                 case 'encode':
  25.                         $res = No tienes permisos para ver links. Registrate o Entra con tu cuenta($string);
  26.                         break;
  27.                 case 'gzinflate':
  28.                         $res = No tienes permisos para ver links. Registrate o Entra con tu cuenta($string);
  29.                 case 'decode':
  30.                         $res = No tienes permisos para ver links. Registrate o Entra con tu cuenta(No tienes permisos para ver links. Registrate o Entra con tu cuenta($string));
  31.                         break;
  32.                 case 'utf-7':
  33.                         $res = No tienes permisos para ver links. Registrate o Entra con tu cuenta($string,'UTF-7');
  34.                         break;
  35.                 case 'ASCII':
  36.                         for($i=0;$i<No tienes permisos para ver links. Registrate o Entra con tu cuenta($string);$i++){
  37.                                 $obt=No tienes permisos para ver links. Registrate o Entra con tu cuenta($string[$i]);
  38.                                 $ascii=$obt.',';
  39.                         }
  40.                         $res = $ascii;
  41.                         break;
  42.                 case 'MD5':
  43.                         $res = No tienes permisos para ver links. Registrate o Entra con tu cuenta($string);
  44.                         break;
  45.                 case 'SHA1':
  46.                         $res = No tienes permisos para ver links. Registrate o Entra con tu cuenta($string);
  47.                         break;
  48.                 case 'Base64_encode':
  49.                         $res = No tienes permisos para ver links. Registrate o Entra con tu cuenta($string);
  50.                         break;
  51.                 case 'Base64_decode':
  52.                         $res = No tienes permisos para ver links. Registrate o Entra con tu cuenta($string);
  53.                         break;
  54.                 case 'bindec':
  55.                         $res = No tienes permisos para ver links. Registrate o Entra con tu cuenta($string);
  56.                         break;
  57.                 case 'mcrypt':
  58.                         $res = No tienes permisos para ver links. Registrate o Entra con tu cuenta($string);
  59.                         break;
  60.                 default:
  61.                         No tienes permisos para ver links. Registrate o Entra con tu cuenta("Ha habido un error <a href=''> Regresar! </a>");
  62.                         break;
  63.         }
  64.         return $res;
  65. }
  66.  
  67. if(!No tienes permisos para ver links. Registrate o Entra con tu cuenta($_POST)):
  68.         echo convertir($_POST['convertir'],$_POST['str']);
  69. else:?>
  70.         <form action="" method="POST">
  71.         <select name="convertir">
  72.                 <option value="bin2hex"> BinToHex </option>
  73.                 <option value="encode"> Encode </option>
  74.                 <option value="decode"> Decode </option>
  75.                 <option value="gzinflate"> gzinflate </option>
  76.                 <option value="utf-7"> Encode UTF-7</option>
  77.                 <option value="ASCII"> ASCII </option>
  78.                 <option value="MD5"> MD5 </option>
  79.                 <option value="SHA1"> SHA1 </option>
  80.                 <option value="Base64_encode"> Base64 encode</option>
  81.                 <option value="Base64_decode"> Base64 decode</option>
  82.                 <option value="bindec"> Binario To Decimal</option>    
  83.                 <option value="mcrypt">mcrypt</option>
  84.         </select>
  85.         <input type="text" name="str">
  86.         <input type="submit" name="enviado" value="Convertir!">
  87.         </form>
  88. <?endif;?>
  89.  

Espero que alguien le sea de utilidad como a mí. 8)

Zalu2!
Escuela de Hackers & Programación.
No tienes permisos para ver links. Registrate o Entra con tu cuenta

Desconectado F0M3T

  • *
  • Underc0der
  • Mensajes: 177
  • Actividad:
    1.67%
  • Reputación 0
  • Antes de empezar, mira el lienzo...
    • Ver Perfil
    • f0m3t blogsgsgsgsdfñsadf
« Respuesta #1 en: Noviembre 24, 2013, 12:49:10 am »
Haz vuelto, que alegría, está bueno, saludos. :D

Esto no se trata de ganar, se trata de no perder.

Desconectado 2Fac3R

  • *
  • Underc0der
  • Mensajes: 236
  • Actividad:
    5%
  • Reputación 0
  • Why be a king, when you can be a god
    • Ver Perfil
    • Escuela de Hackers & Programación
  • Skype: rockeg_18
  • Twitter: @2Fac3R
« Respuesta #2 en: Noviembre 24, 2013, 01:41:15 am »
No tienes permisos para ver links. Registrate o Entra con tu cuenta
Haz vuelto, que alegría, está bueno, saludos. :D

Me paso casi diario por acá, solo que no me habia dado tiempo de publicar ni casi de comentar en temas, ustedes responden muy bien, no hace falta jajaja  ;)

Zalu2!
Escuela de Hackers & Programación.
No tienes permisos para ver links. Registrate o Entra con tu cuenta

Desconectado F0M3T

  • *
  • Underc0der
  • Mensajes: 177
  • Actividad:
    1.67%
  • Reputación 0
  • Antes de empezar, mira el lienzo...
    • Ver Perfil
    • f0m3t blogsgsgsgsdfñsadf
« Respuesta #3 en: Noviembre 24, 2013, 01:42:42 am »
No tienes permisos para ver links. Registrate o Entra con tu cuenta
No tienes permisos para ver links. Registrate o Entra con tu cuenta
Haz vuelto, que alegría, está bueno, saludos. :D

Me paso casi diario por acá, solo que no me habia dado tiempo de publicar ni casi de comentar en temas, ustedes responden muy bien, no hace falta jajaja  ;)

Zalu2!
Igual es un gusto leerte de nuevo, esperemos que tengas más tiempo, extrañamos tus aportes :D

Esto no se trata de ganar, se trata de no perder.

Desconectado alexander1712

  • *
  • Underc0der
  • Mensajes: 850
  • Actividad:
    0%
  • Reputación -2
    • Ver Perfil
    • El blog del programador
    • Email
« Respuesta #4 en: Noviembre 24, 2013, 02:32:10 am »
interesante, podría estar estructuralmente mejor pero está muy bien.

si te interesa saber por qué podría estar mejor decime y te comento.

saludos!

Desconectado 2Fac3R

  • *
  • Underc0der
  • Mensajes: 236
  • Actividad:
    5%
  • Reputación 0
  • Why be a king, when you can be a god
    • Ver Perfil
    • Escuela de Hackers & Programación
  • Skype: rockeg_18
  • Twitter: @2Fac3R
« Respuesta #5 en: Noviembre 25, 2013, 03:15:35 pm »
No tienes permisos para ver links. Registrate o Entra con tu cuenta
interesante, podría estar estructuralmente mejor pero está muy bien.

si te interesa saber por qué podría estar mejor decime y te comento.

saludos!

Cualquier comentario es bienvenido, y si es para mejorar el code mucho mejor!  :D
Zalu2!
Escuela de Hackers & Programación.
No tienes permisos para ver links. Registrate o Entra con tu cuenta

Desconectado alexander1712

  • *
  • Underc0der
  • Mensajes: 850
  • Actividad:
    0%
  • Reputación -2
    • Ver Perfil
    • El blog del programador
    • Email
« Respuesta #6 en: Noviembre 25, 2013, 05:31:46 pm »
Los siguientes comentarios son en base a que la idea de tu código es que lo utilicen diferentes personas en diferentes ámbitos o contextos.

El primer punto que deberías arreglar es el hecho de no generar dependencias ¿A que me refiero? si tu idea es que la función pueda ser utilizados en diferentes lugares, no deberías tener cosas como un die, porque lo más probable es que no todo el mundo quiera emitir un die si la función falla.

en vez de hacer por ejemplo die("Ha habido un error <a href=''> Regresar! </a>"); deberías devolver FALSO, para que a la hora de utilizar dicha función si yo quiero mandar un díe de esa forma o de otra no tengo que modificar la función.

Quizá parezca una estupidez, pero si te pones a pensar el problema es que esto a esta escala no es un problema porque da igual si tengo que cambiar la funcion una linea para que haga lo que quiero, pero si son muchisimas funciones y resultara que tu función fuera más grande puede significar cambios mayores que podrían ser evitados desde una decición simple de diseño tal como es, lo que propongo.

En otras palabras si tu código tiende a ser reusable o puesto en varios lugares diferentes o por varias personas, lo mas razonable es no asumir que hacer cuando por ejemplo no se solicita una encriptación válida.

En este caso como el código es exageradamente simple, no hay muchas otros puntos donde tengas fallas de este tipo, no obstante si no te haces la costumbre de hacerlo en las cosas chicas, cuando realmente sea necesario, te olvidarás más de una vez, o te dará muchos problemas.

En segunda instancia, debes dejar de utilizar php en formato de etiqueta (para códigos grandes que incluyan funciones y otras cosas que no deberían estar en el mismo archivo), debes empezar a pensar en separar diseño, control y abstracción de la base de datos (obviamente el último punto no aplica a este código, pero si lo digo en general para futuros códigos)

Cuando el código se empieza a poner razonable (más de 2mil lineas de código) tener una mezcla de cosas termina complicando todo, es mejor tener todo bien separado, como dice el dicho, divide y vencerás.

esto es a nivel estructura, en un código tan pequeño como éste no te puedo dar más ejemplos de mejoras estructurales porque no es posible.

dejando esto de lado, también te comento la existencia de una función llamda No tienes permisos para ver links. Registrate o Entra con tu cuenta

quizá te interese.

Saludos!
« Última modificación: Noviembre 25, 2013, 05:34:12 pm por Harkonnen »

Desconectado 2Fac3R

  • *
  • Underc0der
  • Mensajes: 236
  • Actividad:
    5%
  • Reputación 0
  • Why be a king, when you can be a god
    • Ver Perfil
    • Escuela de Hackers & Programación
  • Skype: rockeg_18
  • Twitter: @2Fac3R
« Respuesta #7 en: Noviembre 30, 2013, 10:48:30 pm »
No tienes permisos para ver links. Registrate o Entra con tu cuenta
Los siguientes comentarios son en base a que la idea de tu código es que lo utilicen diferentes personas en diferentes ámbitos o contextos.

El primer punto que deberías arreglar es el hecho de no generar dependencias ¿A que me refiero? si tu idea es que la función pueda ser utilizados en diferentes lugares, no deberías tener cosas como un die, porque lo más probable es que no todo el mundo quiera emitir un die si la función falla.

en vez de hacer por ejemplo die("Ha habido un error <a href=''> Regresar! </a>"); deberías devolver FALSO, para que a la hora de utilizar dicha función si yo quiero mandar un díe de esa forma o de otra no tengo que modificar la función.

Quizá parezca una estupidez, pero si te pones a pensar el problema es que esto a esta escala no es un problema porque da igual si tengo que cambiar la funcion una linea para que haga lo que quiero, pero si son muchisimas funciones y resultara que tu función fuera más grande puede significar cambios mayores que podrían ser evitados desde una decición simple de diseño tal como es, lo que propongo.

En otras palabras si tu código tiende a ser reusable o puesto en varios lugares diferentes o por varias personas, lo mas razonable es no asumir que hacer cuando por ejemplo no se solicita una encriptación válida.

En este caso como el código es exageradamente simple, no hay muchas otros puntos donde tengas fallas de este tipo, no obstante si no te haces la costumbre de hacerlo en las cosas chicas, cuando realmente sea necesario, te olvidarás más de una vez, o te dará muchos problemas.

En segunda instancia, debes dejar de utilizar php en formato de etiqueta (para códigos grandes que incluyan funciones y otras cosas que no deberían estar en el mismo archivo), debes empezar a pensar en separar diseño, control y abstracción de la base de datos (obviamente el último punto no aplica a este código, pero si lo digo en general para futuros códigos)

Cuando el código se empieza a poner razonable (más de 2mil lineas de código) tener una mezcla de cosas termina complicando todo, es mejor tener todo bien separado, como dice el dicho, divide y vencerás.

esto es a nivel estructura, en un código tan pequeño como éste no te puedo dar más ejemplos de mejoras estructurales porque no es posible.

dejando esto de lado, también te comento la existencia de una función llamda No tienes permisos para ver links. Registrate o Entra con tu cuenta

quizá te interese.

Saludos!

Buenas!

Sobre lo del die() estoy deacuerdo, quizá a modo de ver esto un poco más "grande" es una buena recomendación, en este caso creo que no es necesario, otra cosa (aparte del FALSE) que se puede regresar, es guardar el mensaje de error en una constante, y el usuario solo debería modificar la constante.

En un proyecto que hice con unos amigos hace poco, lo que hacíamos era crear un "capturador de errores" y de ahí nos basabamos, un poco más "profesional".

En el segundo caso claro que lo hago así, modularizar es bastante importante en códigos grandes, incluso mejor si es POO, también lo recomiendo  ;D

Ando checando la función que me pasaste, es interesante lo único que veo es que no tiene tantos algorítmos de cifrado, prefiero usar funciones específicas jeje

Gracias por los comentarios y recomendaciones brot 8)
Zalu2
Escuela de Hackers & Programación.
No tienes permisos para ver links. Registrate o Entra con tu cuenta

Desconectado alexander1712

  • *
  • Underc0der
  • Mensajes: 850
  • Actividad:
    0%
  • Reputación -2
    • Ver Perfil
    • El blog del programador
    • Email
« Respuesta #8 en: Diciembre 01, 2013, 04:32:06 pm »
No tienes permisos para ver links. Registrate o Entra con tu cuenta
Buenas!

Sobre lo del die() estoy deacuerdo, quizá a modo de ver esto un poco más "grande" es una buena recomendación, en este caso creo que no es necesario, otra cosa (aparte del FALSE) que se puede regresar, es guardar el mensaje de error en una constante, y el usuario solo debería modificar la constante.

si lo de la constante podría llegar a ser viable, de todos modos aún sigue siendo bastante restrictivo, tienes que pensar que tu función es lo que podría denominarse "especificación", y la tendencia a la hora de programar es separar implementación de especificación, tendrías que empezar pensando que el usuario que use la función quizá ni siquiera quiera mostrar el mensaje, sino que lo quiciera almacenar en un archivo de log de errores por ejemplo, en todo caso como vos no podés pensar en todas las posibilidades, lo mejor sería retornar true si todo anda bien o false si las cosas van mal guardando en alguna variable por referencia (es solo un ejemplo no digo que lo hagas así), el mensaje de error que quieras.

Yo cuando trabajo con clases aveces creo dos variables para la clase que esté usando, $error y $error_msg donde en $error pongo si hay un error o no (más allá de que lo devuelvo en la función) y en $error_msg pongo el mensaje.

Eso lo hacía en un principio, también puedes generar una excepción para que quien use la función la meta en un bloque try/catch y capture los errores.

No tienes permisos para ver links. Registrate o Entra con tu cuenta
En un proyecto que hice con unos amigos hace poco, lo que hacíamos era crear un "capturador de errores" y de ahí nos basabamos, un poco más "profesional".
claro no se como lo crearon pero eso existe en php y es el block try/catch, donde lanzas una excepción y Catch la captura al vuelo.

No tienes permisos para ver links. Registrate o Entra con tu cuenta
En el segundo caso claro que lo hago así, modularizar es bastante importante en códigos grandes, incluso mejor si es POO, también lo recomiendo  ;D

claro, tienes toda la razón, si te interesa el tema de la programación "profesional" te invito a ver mi No tienes permisos para ver links. Registrate o Entra con tu cuenta donde encontrarás cosas como criterios de calidad, y otros temas más referentes a esto.

No tienes permisos para ver links. Registrate o Entra con tu cuenta
Ando checando la función que me pasaste, es interesante lo único que veo es que no tiene tantos algorítmos de cifrado, prefiero usar funciones específicas jeje

pues estamos de acuerdo, no tiene tantos algoritmos como si usas funciones a parte, te lo pasé más que nada para que lo vieras como posible agregado a tu función :)

No tienes permisos para ver links. Registrate o Entra con tu cuenta
Gracias por los comentarios y recomendaciones brot 8)
Zalu2

no, por favor, es un placer ayudar con los pocos conocimientos con los que cuento.

saludos
« Última modificación: Diciembre 01, 2013, 04:35:24 pm por Harkonnen »

 

¿Te gustó el post? COMPARTILO!



Resolver funciones matemáticas By 2Fac3R

Iniciado por 2Fac3R

Respuestas: 0
Vistas: 998
Último mensaje Diciembre 23, 2012, 12:54:15 am
por 2Fac3R
Admin Panel Finder [By 2Fac3R]

Iniciado por 2Fac3R

Respuestas: 5
Vistas: 2404
Último mensaje Enero 25, 2013, 07:18:35 pm
por alexander1712
Caesar cipher By 2Fac3R

Iniciado por 2Fac3R

Respuestas: 0
Vistas: 1012
Último mensaje Diciembre 23, 2012, 12:45:58 am
por 2Fac3R
[Tool] Is Online v2.0 (By 2Fac3R)

Iniciado por 2Fac3R

Respuestas: 10
Vistas: 2899
Último mensaje Abril 22, 2013, 04:04:40 am
por D4rkC0d3r
[PHP] Caesar cipher v1.1 (By 2Fac3R)

Iniciado por 2Fac3R

Respuestas: 2
Vistas: 1055
Último mensaje Enero 30, 2013, 02:31:03 pm
por 2Fac3R