Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   cifrado de hill y manejo de cadenas (https://www.clubdelphi.com/foros/showthread.php?t=66909)

isaacrg 18-03-2010 08:06:14

cifrado de hill y manejo de cadenas
 
ola a todos!
estoy realizandi un cifrado de hil en delphi 7 :
la parte en la que me atoro es enseparar la cadena en parejas ejemplo

cadena:=sistemas; debe de quedar asi: cadena:=si st em as;
entonce tomo la primer pareja que es 'si', entonces le asigno varibles a cada caracter c1:='s'; y c2:='i'; osea que lo hago asi c1:=cadena[1]; c2:=cadena[2]; entonces ya tengo las variables y las encripto y me arroja el resultado asi: edit3.text:=hm;
entonces no me sale el codigo pára que valla recorriendo la cadena y me valla asignando a c1 y c2 de los caracteres de la cadena, para que despues c1:=s; c2:=t; despues de encriptarlo c1 y c2 cambien a c1:=e; y c2=m;

y me imprima edit3.text:=hmemxuta



ojala y me halla explicado gracias por su ayuda de antemano

Caro 18-03-2010 13:37:36

Hola isaacrg, por lo que he entendido tu problema esta en recorrer e ir tomando dos caracteres cada ves, puedes hacerlo de esta forma:

Código Delphi [-]
 AuxCadena := Cadena;
 While AuxCadena<>'' do
  begin
   C1 := AuxCadena[1];
   C2 := AuxCadena[2];
   ...............................
   //Tomamos todo menos los dos primeros caracteres
   AuxCadena := Copy(AuxCadena, 3, Length(AuxCadena)-1);
  end;

Saluditos

isaacrg 18-03-2010 22:48:20

hola gracias CARO por tu ayuda la verdd en este momento no puedo comrobar el codigo pero llegando a casa lo intentare asi..

entonces si tengo otra duda te volvere a responder

GRACIAS!!

isaacrg 19-03-2010 22:45:39

Problema con Cadena
 
Cadena:='holamundos';
AuxCadena := Cadena;
While AuxCadena<>'' do
begin
C1 := AuxCadena[1];
C2 := AuxCadena[2];

// ...............................
//Tomamos todo menos los dos primeros caracteres
AuxCadena := Copy(AuxCadena, 3, Length(AuxCadena));
edit3.Text:=AuxCadena;
end;


hola Caro disculpa pero tengo una duda del codigo que me diste...

si coloco la linea de edit3.text:=AuxCadena; se supone que me arroja asi::


AuxCadena:'lamundos'; y no me arroja nada....

creo que me enrede feo .
gracias

BrunoBsso 20-03-2010 00:30:57

¡He aquí la solución a todos tus problemas! Jajaja acá te muestro como separar un texto en parejas de caracteres:
Código Delphi [-]
//Para este programa se usaron 2 TEdits (Edit1 y Edit2) y un TButton (Button1)
function CifrarEnHill(S:String):String;
var
  Aux:String;
  I:Integer;
begin
  Aux:='';
  I:=1;
  while (I<=Length(S)) do begin
    Aux:=Aux+S[i]+S[I+1]+' ';
    I:=I+2;
  end;
  if (Aux[Length(Aux)]=' ') then
    SetLength(Aux,Length(Aux)-1);
  Result:=Aux;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
  Edit2.Text:=CifrarEnHill(Edit1.Text);
end;
Creo que eso es lo que querías.
Saludos!

EDITO: eso es lo que entendí yo, pero no sé si es lo que pedías.

isaacrg 22-03-2010 23:22:33

Cifrado Resuelto
 
Gracias por su ayuda encontre mi duda y ya termine el cifrado.

Ahora alguien digame si el tema se elimina solo? o asi hay que dejarlo.
gracias una vez mas por la ayuda

BrunoBsso 22-03-2010 23:39:00

En ClubDelphi, a diferencia de muchos foros, los temas quedan durante mucho tiempo (no se cuánto o para siempre) para que cuando alguien tenga una duda use el buscador y encuentre un tema así.
De nada por la ayuda.
Ahora yo te pregunto a vos, ese ejemplo que te hice, ¿es lo que buscabas? Porque no sé si era así. Si era así, ya me queda para el futuro por si necesito lo mismo.
Saludos!

isaacrg 22-03-2010 23:43:19

Cifrado Resuelto
 
Simon es asi ya nadamas lo implemente a mi problema y si jalo como debe.

gracias.


"TODOS SOMOS IGNORANTES! pero NO TODOS ACERCA DEL MISMO TEMA"

BrunoBsso 22-03-2010 23:56:51

Joya, no tenía idea que era eso de cifrado hill.
Ahora me lo guardo para cuando lo necesite :D
Gracias :D

Casimiro Noteví 23-03-2010 00:20:27

Cita:

Empezado por BrunoBsso (Mensaje 357850)
En ClubDelphi, a diferencia de muchos foros, los temas quedan durante mucho tiempo (no se cuánto o para siempre) para que cuando alguien tenga una duda use el buscador y encuentre un tema así.
De nada por la ayuda.[..]

Exacto, aquí nunca se borra nada, ese es uno de los motivos por los que se pide el poner un título descriptivo a las preguntas, para que luego sirva a la hora de que alguien busque algo similar.

isaacrg 24-03-2010 17:36:19

cifrado de hill
 
1 Archivos Adjunto(s)
bueno pues en si lo que me ayudaste no es el cifrado de hill. pero si es una parte de toodo lo que es el cifrado.

Yo me atore en esa parte pero aun faltan mas cosas que lleva el cifrado de hill..

esto es lo que es el cifrado de hill.



bueno una vez mas gracias por tu ayuda!

"TODOS SOMOS IGNORANTES! pero NO TODOS ACERCA DEL MISMO TEMA"


La franja horaria es GMT +2. Ahora son las 10:58:58.

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