[Lua] Cifrado César

  • 0 Respuestas
  • 2623 Vistas

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

Desconectado LucaSthefano

  • *
  • Underc0der
  • Mensajes: 399
  • Actividad:
    0%
  • Reputación 0
    • Ver Perfil

[Lua] Cifrado César

  • en: Julio 13, 2011, 05:42:51 pm
Código: Lua
  1. --Cifrado César 18/11/10
  2. function Cifrar(cadena,clave)
  3.    if tonumber(clave) and tonumber(clave)%1==0 then
  4.       local palabra = ""
  5.       local separar = {}
  6.       for i = 1,string.len(cadena) do
  7.          local letra = string.byte(string.lower(cadena),i)
  8.          table.insert(separar,letra)
  9.       end
  10.       for k = 1,#separar do
  11.          if separar[k]>=97 and separar[k]<=122 then
  12.             if separar[k]+clave>122 then
  13.                palabra = palabra..string.char(separar[k]-(26-clave))
  14.             else
  15.                palabra = palabra..string.char(separar[k]+clave)
  16.             end
  17.          else
  18.             palabra = palabra..string.char(separar[k])
  19.          end
  20.       end
  21.       return palabra
  22.    else
  23.       return false
  24.    end
  25. end
  26.  
  27. while true do
  28.    print(">Texto a cifrar:")
  29.    texto = io.read()
  30.    print(">Clave:")
  31.    llave = io.read()
  32.    cifrado = Cifrar(texto,llave)
  33.    if cifrado then
  34.       print("\n>>"..cifrado.."\n")
  35.     else
  36.       print("Error, intente de nuevo\n")
  37.    end
  38. end

Autor: MatU_MalO

Saludos!