Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   La Taberna (https://www.clubdelphi.com/foros/forumdisplay.php?f=40)
-   -   Para alguien que este aburrido y con ganas de pensar - 3 (https://www.clubdelphi.com/foros/showthread.php?t=37530)

Casimiro Notevi 15-11-2006 19:30:53

Para alguien que este aburrido y con ganas de pensar - 3
 
Cuando estuve haciendo trabajos de cifrado y compresión de datos, aprendí de un libro donde al final ponían este ejercicio para que lo descifrara:

hsaovbno wlymljapvu pz haahpuhisl, pa vjjbyz vusf hz hu hjjpklua


Ya sé que es sencillito, y más para seoane, pero tampoco creo que tengáis mucho tiempo para dedicarle.

Debo decir que en este caso tiene un pequeño añadido de dificultad.

seoane 15-11-2006 19:44:47

Cita:

Empezado por Casimiro Notevi
Ya sé que es sencillito, y más para seoane, pero tampoco creo que tengáis mucho tiempo para dedicarle.

:eek: Pues a mi me suena klingon.

roman 15-11-2006 19:51:27

Pues tú imagínate entonces como nos suena a los demás :eek: Si el "básico" estaba en klingon, ¿cómo será el ejercicio final? :D

Mejor que Casimiro nos diga en qué libro estudió y ya en seis meses intentamos de nuevo :D :D

// Saludos

marcoszorrilla 15-11-2006 19:58:27

A mi me suena que ahí pone.

Pabernosmataooooo, pero en chino.

Un Saludo descifrado.

marceloalegre 15-11-2006 19:59:14

Mmmm esta en ingles :)

Casimiro Notevi 15-11-2006 22:06:48

Cita:

Empezado por kanvictor
Mmmm esta en ingles :)

pues sí, esa es la dificultad añadida :)

roman 15-11-2006 22:13:13

¡Ah! Pues no faltaba más. Si eso les preocupa, en cuanto lo descifren yo se los traduzco al español. :D :D :D

seoane 15-11-2006 23:34:30

Cita:

ALTHOUGH PERFECTION IS ATTAINABLE, IT OCCURS ONLY AS AN ACCIDENT
:confused: ¿Acerte?

seoane 15-11-2006 23:46:58

Y por si alguien tiene curiosidad por el algoritmo:

Código Delphi [-]
function Descifrar(Str: String; Clave: Integer): string;
var
  i,k: integer;
begin
  Str:= Uppercase(Str);
  Result:= '';
  for i:= 1 to Length(Str) do
  begin
    if Str[i] in ['A'..'Z'] then
    begin
      k:= Ord(Str[i]) - Clave;
      if k < Ord('A') then
        k:= Ord('Z') - Ord('A') + k + 1;
      Result:= Result + Chr(k);
    end else
      Result:= Result + Str[i];
  end;
end;

// Ejemplo
ShowMessage(Descifrar('hsaovbno wlymljapvu pz haahpuhisl, pa vjjbyz vusf hz hu hjjpklua',7));

:o Mira que era fácil, y di un montón de vueltas ...

egostar 15-11-2006 23:59:52

Pues asi como lo pones, aparenta ser sencillo, sin embargo, cuando a algunos como yo nos rebasa el conocimiento, pues ni asi lo entiendo :D , tengo la inquietud de saber de donde sacas el 7 que usas como clave, que por cierto no usas en tu codigo copmo clave sino como una constante.

Es hermoso ver y no entender nada de lo que ves.

Saludos

Casimiro Notevi 16-11-2006 00:47:06

Enhorabuena, seoane !!!


Pues me has ganado, yo tardé casi toda una mañana en descifrarlo, se ve que estás "entrenado" :)

Casimiro Notevi 16-11-2006 00:52:39

Cita:

Empezado por egostar
Pues asi como lo pones, aparenta ser sencillo, sin embargo, cuando a algunos como yo nos rebasa el conocimiento, pues ni asi lo entiendo :D , tengo la inquietud de saber de donde sacas el 7 que usas como clave, que por cierto no usas en tu codigo copmo clave sino como una constante.

Es hermoso ver y no entender nada de lo que ves.

Saludos

Lo de la "constante" 7 es porque se usa un alfabeto que empieza en la posición 7, en la letra 'h'. la 'a' es 0, la 'b' es 1, la 'c' es 2 ...

Así que el alfabeto usado es:
hijklmnopqrstuvwxyzabcdefg



egostar 16-11-2006 01:09:52

Ya, ahora caigo con este asunto de los mensajes cifrados :rolleyes: , entonces quiero imaginar que la primera letra es la que nos da la clave para armar el alfabeto alterno.

Gracias, todos los dias se aprende algo nuevo:) .

Saludos.

xander 16-11-2006 01:44:53

Solo acotar que el Caesar o Cesar es de los más sencillitos métodos de cifrado... hubiera sido mas que dificil si el mensaje hubiera sido cifrado por algún otro método como el Two-Fish o el Rijndael

seoane 16-11-2006 01:47:34

Cita:

Empezado por xander
Solo acotar que el Caesar o Cesar es de los más sencillitos métodos de cifrado... hubiera sido mas que dificil si el mensaje hubiera sido cifrado por algún otro método como el Two-Fish o el Rijndael

:D Y por que no el One-time pad. Hombre, se trata de que se pueda solucionar sin ayuda de la CIA.

marceloalegre 16-11-2006 02:15:47

jajaja bien bien, no me quiten el merito :cool: que yo la habia sacado cuando comente que estaba en ingles!!(por eso mi risa cuando dije del idioma)..jeje dedicando 2 horas que eran de trabajo :eek: . Igual Domingo con sus ejemplos magistrales nos deja, o por lo menos a mi, mas que impresionado.-


La franja horaria es GMT +2. Ahora son las 21:16:36.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi