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 rot13 y atbash

  • 3 Respuestas
  • 2800 Vistas

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

Desconectado Once

  • *
  • Underc0der
  • Mensajes: 391
  • Actividad:
    0%
  • Reputación 0
    • Ver Perfil
    • El blog de Once
  • Twitter: @don_once
« en: Abril 12, 2013, 02:05:07 am »
Les dejo un par de algoritmos que me pusieron e trabajo en la U por si a alguien le es de utilidad, la idea es codificar con rot13 y atbash sin importar librerias.

Código: Python
  1. #!/usr/bin/python2
  2.  
  3. #65 90
  4. #97 122
  5.  
  6. def rot13(palabra):
  7.     Cifrado = ''
  8.     for i in palabra:
  9.         buff = ord(i)
  10.         if (buff >= 65 and buff <= 90) or (buff >= 97 and buff <= 122):
  11.             if ((buff + 13 > 90 and buff + 13 <= 103) or (buff + 13 > 122 and buff + 13 <= 135)):
  12.                 Cifrado += chr(buff -13)
  13.             else:
  14.                 Cifrado += chr(buff + 13)
  15.     print Cifrado
  16.    
  17. def atbash(palabra):
  18.     V1 = "abcdefghijklm"
  19.     V2 = "zyxwvutsrqpon"
  20.    
  21.     Buff = ""
  22.    
  23.     for i in range(len(palabra)):
  24.         for a in range(len(V1)):
  25.             if V1[a] == palabra[i]:
  26.                 Buff += V2[a]
  27.             elif V2[a] == palabra[i]:
  28.                 Buff += V1[a]
  29.     print Buff
  30.  
  31. atbash("criptografia")
  32. rot13("Criptografia")
  33.  

Saludos!






No tienes permisos para ver links. Registrate o Entra con tu cuenta

Desconectado JaAViEr

  • *
  • Underc0der
  • Mensajes: 163
  • Actividad:
    0%
  • Reputación 0
  • http://codigo.ga
    • Ver Perfil
    • Blog de Programación :: Python
« Respuesta #1 en: Abril 23, 2013, 06:11:34 pm »
Colega ! , muy buen código !
Espero no te moleste que lo haya pasado a Python CGI para poder correrlo desde la Web :D

El código para los interesado:
Código: Python
  1. #!/usr/bin/python
  2. #Original: 11Sep
  3. #To CGI: JaAViEr::0x5d - @0x5d
  4. import cgi, os
  5.  
  6. def  formulario_inicial():
  7.         form_html = '''
  8.         <form action="" method="POST">
  9.         Data: <br/>
  10.         <textarea name="contenido"></textarea><br />
  11.         <select name="opcion">
  12.         <option value="rot13">ROT13</option>
  13.         <option value="atbash">Atbash</option>
  14.         </select><br />
  15.         <input type="Submit"><br/>
  16.         Programado por <b>11Sep</b><br />
  17.         Programado en CGI por <b>JaAViEr::0x5d</b>
  18.         </form>
  19.         '''
  20.         return base("Cifrar Rot13/Atbash", form_html)
  21.  
  22. def base(title, content):
  23.         code = '''
  24.         <div class="ui-widget-content">
  25. <div class="ui-widget-header">%s</div>
  26. %s
  27. </div>
  28. '''%(title, content)
  29.         return code
  30.  
  31. def rot13(palabra):
  32.     Cifrado = ''
  33.     for i in palabra:
  34.         buff = ord(i)
  35.         if (buff >= 65 and buff <= 90) or (buff >= 97 and buff <= 122):
  36.             if ((buff + 13 > 90 and buff + 13 <= 103) or (buff + 13 > 122 and buff + 13 <= 135)):
  37.                 Cifrado += chr(buff -13)
  38.             else:
  39.                 Cifrado += chr(buff + 13)
  40.     return Cifrado
  41.    
  42. def atbash(palabra):
  43.     V1 = "abcdefghijklm"
  44.     V2 = "zyxwvutsrqpon"
  45.    
  46.     Buff = ""
  47.    
  48.     for i in range(len(palabra)):
  49.         for a in range(len(V1)):
  50.             if V1[a] == palabra[i]:
  51.                 Buff += V2[a]
  52.             elif V2[a] == palabra[i]:
  53.                 Buff += V1[a]
  54.     return Buff
  55.  
  56. print "content-type:text/html\r\n\r\n"
  57. print '''
  58. <title>Cifrar Rot13/Atbash 11Sep::JaAViEr</title>
  59. <script src="http://code.jquery.com/jquery-latest.js"></script>
  60. <link rel="stylesheet" href="http://code.jquery.com/ui/1.9.1/themes/cupertino/jquery-ui.css" />
  61. <script src="http://code.jquery.com/ui/1.9.1/jquery-ui.js"></script>
  62. <link rel="stylesheet" href="http://jqueryui.com/resources/demos/style.css" />
  63. <style>
  64. div {
  65.         text-align:center;
  66.         font-size:0.5cm;
  67.         }
  68. input, select {
  69.         height:0.7cm;
  70.         font-size:0.4cm;
  71. }
  72. </style>
  73. '''
  74. form = cgi.FieldStorage()
  75. method = os.environ['REQUEST_METHOD']
  76. contenido = form.getvalue("contenido")
  77. opcion = form.getvalue("opcion")
  78. if method == "POST":
  79.         if opcion:
  80.                 if opcion == "rot13":
  81.                         print formulario_inicial()
  82.                         print base("Salida", "<textarea>"+rot13(contenido)+"</textarea>")
  83.                 elif opcion == "atbash":
  84.                         print formulario_inicial()
  85.                         print base("Salida", "<textarea>"+atbash(contenido)+"</textarea>")
  86.                 else:
  87.                         print formulario_inicial()
  88.                         print base("ERROR","Opción inválida")
  89. else:
  90.         print formulario_inicial()
  91.  
« Última modificación: Mayo 03, 2014, 11:18:21 am por Flemon »
No tienes permisos para ver links. Registrate o Entra con tu cuenta

Desconectado Once

  • *
  • Underc0der
  • Mensajes: 391
  • Actividad:
    0%
  • Reputación 0
    • Ver Perfil
    • El blog de Once
  • Twitter: @don_once
« Respuesta #2 en: Abril 23, 2013, 07:49:23 pm »
Para nada brother, le hecharé un vistazo al code, hace tiempo que tengo ganas de pasar un viejo wargame que tengo a python

Saludos!






No tienes permisos para ver links. Registrate o Entra con tu cuenta

Desconectado k0ws

  • *
  • Underc0der
  • Mensajes: 145
  • Actividad:
    0%
  • Reputación 0
  • I'm Back
    • Ver Perfil
  • Skype: k0wsit0
« Respuesta #3 en: Abril 23, 2013, 08:47:19 pm »
Se ve excelente el code, buen aporte!

-Saludos-

 

¿Te gustó el post? COMPARTILO!



Cifrado Compresor [Archivos]

Iniciado por Azav

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

Iniciado por blozzter

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

Iniciado por Sanko

Respuestas: 0
Vistas: 1487
Último mensaje Agosto 26, 2013, 09:10:24 pm
por Sanko
Cifrado L213

Iniciado por Sanko

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

Iniciado por Sanko

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