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.

Cifrado Morse

  • 6 Respuestas
  • 3087 Vistas

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

Desconectado Sanko

  • *
  • Underc0der
  • Mensajes: 541
  • Actividad:
    0%
  • Reputación 0
  • ¿Puedes?
    • Ver Perfil
    • Underc0de
« en: Septiembre 06, 2013, 11:26:43 am »
Bueno, este cifrado fue realizado con fin de resolver un reto de programación en You are not allowed to view links. Register or Login.

Código :

Código: Python
  1. # Cifrado Morse.py - Sanko
  2. # -*- coding: utf-8 -*-
  3.  
  4. class cif_morse():
  5.        
  6.         def __init__(self):
  7.                 self.table = {'A':'.-', 'B':'-...', 'C':'-.-.',
  8.                                           'D':'-..', 'E':'.', 'F':'..-.', 'G':'--.',
  9.                                           'H':'....', 'I':'..', 'J':'.---', 'K':'-.-',
  10.                                           'L':'.-..', 'M':'--', 'N':'-.', 'Ñ':'--.--',
  11.                                           'O':'---', 'P':'.--.', 'Q':'--.-', 'R':'.-.',
  12.                                           'S':'...', 'T':'-', 'U':'..-', 'V':'...-',
  13.                                           'W':'.--', 'X':'-..-', 'Y':'-.--', 'Z':'--..',
  14.                                           'Ä':'.-.-', 'Ö':'---.', 'Ü':'..--', '0':'-----',
  15.                                           '1':'.----', '2':'..---', '3':'...--', '4':'....-',
  16.                                           '5':'.....', '6':'-....', '7':'--...', '8':'---..',
  17.                                           '9':'----.', '.':'.-.-.-', ',':'--..--', '?':'..--..',
  18.                                           '!':'..--.', ':':'---...', '"':'.-..-.', "'":".----.",
  19.                                           '=':'-...-', ' ':' '}
  20.                
  21.                 self.table2 = {}
  22.                
  23.                 # Inicializar desde aqui
  24.                 self.__encode('Sanko os saluda')
  25.                 self.__decode('... .- -. -.- ---   --- ...   ... .- .-.. ..- -.. .-')  
  26.  
  27.  
  28.                
  29.         def __encode(self, text):
  30.                 self.text = text
  31.                 self.encoded = ''
  32.                
  33.                 if self.text != '':
  34.                         self.text = self.text.upper()
  35.                        
  36.                         for i in self.text:
  37.                                 self.encoded += self.table[i] + ' '
  38.                                
  39.                         print "Encoded: %s"% self.encoded
  40.                        
  41.  
  42.                
  43.         def __decode(self, en_text):           
  44.                 self.en_text = en_text
  45.                 self.decoded = ''
  46.                
  47.                 for i in self.table:
  48.                         self.table2[self.table[i]] = i
  49.                
  50.                 self.en_text = self.en_text.split(' ')
  51.  
  52.                 for x in self.en_text:
  53.                         try:
  54.                                 self.en_text.remove('')
  55.                         except:
  56.                                 pass
  57.                         self.decoded += self.table2[x]
  58.                        
  59.                 print "Decoded: %s"% self.decoded
  60.                                                
  61. cif_morse()
      
Imágen :
Sigueme en Twitter : @Sankosk
Estos nuevos staff no tienen puta idea XD

Desconectado Jimeno

  • *
  • Underc0der
  • Mensajes: 367
  • Actividad:
    0%
  • Reputación -1
  • NULL
    • Ver Perfil
    • Twitter
  • Skype: migueljimeno96
  • Twitter: "><<img src=y onerror=prompt();>
« Respuesta #1 en: Septiembre 06, 2013, 11:46:26 am »
Un cifrado más, buena esa, Sanko.
Pero ya tenías que aburrirte para haber programado esto... Lo mejor de todo los ejemplos, jajajajaja.
PD: me gusta lo limpio que te quedó el código :P
Contacto: @migueljimeno96 -

Desconectado Sanko

  • *
  • Underc0der
  • Mensajes: 541
  • Actividad:
    0%
  • Reputación 0
  • ¿Puedes?
    • Ver Perfil
    • Underc0de
« Respuesta #2 en: Septiembre 06, 2013, 12:07:16 pm »
You are not allowed to view links. Register or Login
Un cifrado más, buena esa, Sanko.
Pero ya tenías que aburrirte para haber programado esto... Lo mejor de todo los ejemplos, jajajajaja.
PD: me gusta lo limpio que te quedó el código :P

Jajaja suelo despertarme y pasarme por udtools a ver si han subido algún reto de programación xD, programar antes de salir de casa relaja a uno.
Saludos gayer.
Sigueme en Twitter : @Sankosk
Estos nuevos staff no tienen puta idea XD

Desconectado arthusu

  • *
  • Underc0der
  • Mensajes: 531
  • Actividad:
    8.33%
  • Reputación 2
  • Yo solo se que no se nada - Socrátes
    • Ver Perfil
    • Arthusu BLOG
  • Skype: arthusuxD
« Respuesta #3 en: Septiembre 07, 2013, 04:25:34 am »
Bueno Sanko tambien lo intente hacer en PHP, solo que al decodificar no se como darle los espacios y otra cosa queria usar en la expresion regular \b$acamivariable\b en el decodificado pero no daba el resultado deseado por eso use ^preg_quote($acamivariable)$, puede contener muchos errores por lo que si hay alguna forma mejor o algo que se pueda mejorar y sepan como hacerlo son libres de editarlo o comentarme como hacerlo, gracias Sanko  me diverti un rato salu2 bro

Código: PHP
  1. <!DOCTYPE html>
  2. <html lang="es">
  3. <head>
  4.         <meta charset="utf-8">
  5.         <title>Cifrado morse</title>
  6. </head>
  7. <body>
  8.         <?php
  9.         $abc=You are not allowed to view links. Register or Login('A'=>'.-','B'=>'-...','C'=>'-.-.','D'=>'-..','E'=>'.','F'=>'..-.','G'=>'--.','H'=>'....','I'=>'..','J'=>'.---','K'=>'-.-','L'=>'.-..','M'=>'--','N'=>'-.','Ñ'=>'--.--','O'=>'---','P'=>'.--.','Q'=>'--.-','R'=>'.-.','S'=>'...','T'=>'-','U'=>'..-','V'=>'...-','W'=>'.--','X'=>'-..-','Y'=>'-.--','Z'=>'--..',0=>'-----',1=>'.----',2=>'..---',3=>'...--',4=>'...-',5=>'.....',6=>'-....',7=>'--...',8=>'---..',9=>'----.','.'=>'.-.-.-',','=>'--..--','?'=>'..--..','!'=>'..--.',':'=>'---...','"'=>'.-..-.',"'"=>'.----.','='=>'-...-'," "=>" ");
  10.  
  11.                 if(You are not allowed to view links. Register or Login($_POST['enviar'])){
  12.                         if(!You are not allowed to view links. Register or Login($_POST['morse'])){
  13.                         switch ($_POST['morse2']) {
  14.                                 case 'Encode':
  15.                                         $post=$_POST['morse'];
  16.                                         for($i=0;$i<=You are not allowed to view links. Register or Login($post);$i++){
  17.                                                 $letra=You are not allowed to view links. Register or Login($post, $i,1);
  18.                                                 foreach($abc as $key=>$value){
  19.                                                         if(You are not allowed to view links. Register or Login("/^".You are not allowed to view links. Register or Login($letra)."$/i", $key)){
  20.                                                                                 echo You are not allowed to view links. Register or Login($value)." ";
  21.                                                                         }
  22.                                                 }
  23.                                         }
  24.                                         break;
  25.                                 case 'Decode':
  26.                                         $post=$_POST['morse'];
  27.                                         $morse_pal=You are not allowed to view links. Register or Login(" ",$post);
  28.                                         foreach($morse_pal as $letra){ 
  29.                                                
  30.                                                 foreach($abc as $key=>$value){
  31.                                                                 if(You are not allowed to view links. Register or Login("/^".You are not allowed to view links. Register or Login($letra)."$/i", $value)){
  32.                                                                                 echo You are not allowed to view links. Register or Login(You are not allowed to view links. Register or Login($key));
  33.                                                                         }
  34.                                                         }
  35.                                         }      
  36.                                         break;
  37.                                 default:
  38.                                         echo "Ocurrio un error";
  39.                                         break;
  40.                         }
  41.                 }else{
  42.                 echo "Rellene el campo";
  43.         }
  44. }
  45.  
  46.         ?>
  47.         <form action="" method="post">
  48.                 <p><b>Ingrese el texto:</b></p>
  49.                 <input name="morse" type="text" /><br />
  50.                 <input type="radio" name="morse2" value="Encode">Codificar<br>
  51.                 <input type="radio" name="morse2" value="Decode" checked="checked">Decodificar<br>
  52.                 <input type="submit" name="enviar" />
  53.         </form>
  54. </body>
  55. </html>

Resultado:



« Última modificación: Septiembre 07, 2013, 04:34:04 am por arthusu »

Desconectado Danyfirex

  • *
  • Underc0der
  • Mensajes: 22
  • Actividad:
    0%
  • Reputación 0
    • Ver Perfil
« Respuesta #4 en: Septiembre 07, 2013, 10:04:54 am »
Debes colocar espacios ejemplo después de .-[aquí va un espacio]---[aquí otro]---   así sucesivamente.  obviamente si tienes un espacio ahí se colocaran 2. o simplemente agregas algún carácter que te ayude a delimitar para el decodificado.

ejemplo así:

Código: PHP
  1. <?php
  2. $abc=You are not allowed to view links. Register or Login('A'=>'.-','B'=>'-...','C'=>'-.-.','D'=>'-..','E'=>'.','F'=>'..-.','G'=>'--.','H'=>'....','I'=>'..','J'=>'.---','K'=>'-.-','L'=>'.-..','M'=>'--','N'=>'-.','Ñ'=>'--.--','O'=>'---','P'=>'.--.','Q'=>'--.-','R'=>'.-.','S'=>'...','T'=>'-','U'=>'..-','V'=>'...-','W'=>'.--','X'=>'-..-','Y'=>'-.--','Z'=>'--..',0=>'-----',1=>'.----',2=>'..---',3=>'...--',4=>'...-',5=>'.....',6=>'-....',7=>'--...',8=>'---..',9=>'----.','.'=>'.-.-.-',','=>'--..--','?'=>'..--..','!'=>'..--.',':'=>'---...','"'=>'.-..-.',"'"=>'.----.','='=>'-...-'," "=>" ");
  3.  //echo $abc['A'];
  4.  $final="";
  5.  
  6.  $cadena="HOLA HOLA";
  7.   for($i=0;$i<=You are not allowed to view links. Register or Login($cadena);$i++){
  8.   $letra=You are not allowed to view links. Register or Login($cadena, $i,1);
  9.      
  10.           if ($letra==" ") {
  11.        $final.=$abc[$letra];
  12.            }else{
  13.             $final.=$abc[$letra] . "&nbsp;";
  14.         }
  15.  
  16.   }
  17.   echo $final;
  18. ?>
  19.  


así en el descifrado te queda solo hacer split con un espacio.


saludos



Desconectado binary_death

  • *
  • Underc0der
  • Mensajes: 18
  • Actividad:
    0%
  • Reputación 0
    • Ver Perfil
    • Email
« Respuesta #5 en: Septiembre 07, 2013, 01:13:41 pm »
Hombre sí... pero el morse no es un cifrado, todo lo contrario.
Hace un tiempo yo estaba muy aficionado a eso del morse  :P Vale la pena conocerlo, nunca sabes para lo que te servirá.

Desconectado arthusu

  • *
  • Underc0der
  • Mensajes: 531
  • Actividad:
    8.33%
  • Reputación 2
  • Yo solo se que no se nada - Socrátes
    • Ver Perfil
    • Arthusu BLOG
  • Skype: arthusuxD
« Respuesta #6 en: Septiembre 08, 2013, 12:55:17 am »
Ya arregle lo de los espacios gracias a Danyfirex aca dejo el codigo:

Código: PHP
  1. <!DOCTYPE html>
  2. <html lang="es">
  3. <head>
  4.         <meta charset="utf-8">
  5.         <title>Cifrado morse</title>
  6. </head>
  7. <body>
  8.         <?php
  9.         $abc=You are not allowed to view links. Register or Login('A'=>'.-','B'=>'-...','C'=>'-.-.','D'=>'-..','E'=>'.','F'=>'..-.','G'=>'--.','H'=>'....','I'=>'..','J'=>'.---','K'=>'-.-','L'=>'.-..','M'=>'--','N'=>'-.','Ñ'=>'--.--','O'=>'---','P'=>'.--.','Q'=>'--.-','R'=>'.-.','S'=>'...','T'=>'-','U'=>'..-','V'=>'...-','W'=>'.--','X'=>'-..-','Y'=>'-.--','Z'=>'--..',0=>'-----',1=>'.----',2=>'..---',3=>'...--',4=>'...-',5=>'.....',6=>'-....',7=>'--...',8=>'---..',9=>'----.','.'=>'.-.-.-',','=>'--..--','?'=>'..--..','!'=>'..--.',':'=>'---...','"'=>'.-..-.',"'"=>'.----.','='=>'-...-',' '=>' ');
  10.  
  11.                 if(You are not allowed to view links. Register or Login($_POST['enviar'])){
  12.                         if(!You are not allowed to view links. Register or Login($_POST['morse'])){
  13.                         switch ($_POST['morse2']) {
  14.                                 case 'Encode':
  15.                                         $post=$_POST['morse'];
  16.                                         for($i=0;$i<=You are not allowed to view links. Register or Login($post);$i++){
  17.                                                 $letra=You are not allowed to view links. Register or Login($post, $i,1);
  18.                                                 foreach($abc as $key=>$value){
  19.                                                         if(You are not allowed to view links. Register or Login("/^".You are not allowed to view links. Register or Login($letra)."$/i", $key)){
  20.                                                                                 echo You are not allowed to view links. Register or Login($value)."&nbsp;";
  21.                                                                         }
  22.                                                 }
  23.                                         }
  24.                                         break;
  25.                                 case 'Decode':
  26.                                         $post=$_POST['morse'];
  27.                                         $morse_pal=You are not allowed to view links. Register or Login(" ",$post);
  28.                                         foreach($morse_pal as $indice=>$letra){
  29.                                                 foreach($abc as $key=>$value){
  30.                                                         if(You are not allowed to view links. Register or Login($letra)){$letra=' ';}
  31.                                                                 if(You are not allowed to view links. Register or Login("/^".You are not allowed to view links. Register or Login($letra)."$/i", $value)){
  32.                                                                                 echo You are not allowed to view links. Register or Login(You are not allowed to view links. Register or Login($key));
  33.                                                                         }
  34.                                                         }
  35.                                         }      
  36.  
  37.                                         break;
  38.                                 default:
  39.                                         echo "Ocurrio un error";
  40.                                         break;
  41.                         }
  42.                 }else{
  43.                 echo "Rellene el campo";
  44.         }
  45. }
  46.  
  47.         ?>
  48.         <form action="" method="post">
  49.                 <p><b>Ingrese el texto:</b></p>
  50.                 <input name="morse" type="text" /><br />
  51.                 <input type="radio" name="morse2" value="Encode">Codificar<br>
  52.                 <input type="radio" name="morse2" value="Decode" checked="checked">Decodificar<br>
  53.                 <input type="submit" name="enviar" />
  54.         </form>
  55. </body>
  56. </html>

 

¿Te gustó el post? COMPARTILO!



Cifrado rot13 y atbash

Iniciado por Once

Respuestas: 3
Vistas: 2701
Último mensaje Abril 23, 2013, 08:47:19 pm
por k0ws
Cifrado Compresor [Archivos]

Iniciado por Azav

Respuestas: 8
Vistas: 1690
Último mensaje Enero 30, 2015, 04:00:56 am
por Once
Cifrado julio cesar

Iniciado por blozzter

Respuestas: 0
Vistas: 1531
Último mensaje Mayo 26, 2011, 01:53:13 am
por blozzter
Cifrado L213

Iniciado por Sanko

Respuestas: 0
Vistas: 996
Último mensaje Febrero 05, 2014, 07:11:22 pm
por Sanko
Cifrado de Vigenère

Iniciado por Sanko

Respuestas: 1
Vistas: 1718
Último mensaje Septiembre 10, 2013, 10:23:26 am
por 79137913