SoloCodigo

Programación General => Pascal => Mensaje iniciado por: patri en Domingo 27 de Junio de 2004, 00:55

Título: Encriptar En Pascal
Publicado por: patri en Domingo 27 de Junio de 2004, 00:55
hola a todos soy nueva, saludos :D
Necesito ayuda para realizar un programa en pascal que encripte un texto y los desencripte, por medio de matrices.
la idea es que el ususario inserte una clave de no mas de 10 caracteres y un texto de no mas de 100 caracteres y que el programa acomode con ayuda de la clave (del tamaño de la clave )el texto en una matriz   por ejemplo
 clave progra
texto holahoyes                  progra
                                         holaho
                                         yes***
asi y que para encriptarlo acomode las letras que integran la palabra progra en orden alfabetico
pero como soy novata, hasta ahora he podido quitarle al texto a encripta los espacios y en realidad no estoy muy bien en lo que es programar matrices entonces a la hora de acomodar como en el ejemplo la matriz en lugar de caracteres me salen puros ceros ????que hago
el que me pueda ayudar le agradecerìa muchisimo  Porque no se que hacer ????
Título: Re: Encriptar En Pascal
Publicado por: Amilius en Lunes 28 de Junio de 2004, 17:33
La verdad que tu pregunta no goza del beneficio de la claridad.  :P
Título: Re: Encriptar En Pascal
Publicado por: _.B._ en Lunes 5 de Julio de 2004, 01:55
Saludos!
Por qué no colocas parte de tu código a ver si así se entiende mejor lo que buscas?
A programar! :comp:
Título: Re: Encriptar En Pascal
Publicado por: FSR en Martes 6 de Julio de 2004, 01:07
Quizás ésto te sirva:

Código: Text
  1. {** Encripta una cadena **}
  2. Function EncryptStr(Str, Pwd :String) :String;
  3.     Var
  4.         Result :String;
  5.         Ascii    :Integer;
  6.     Begin
  7.         Result := '';
  8.         For Index := 1 to Length(Str) do
  9.             Begin
  10.                 Ind := (Index Mod Length(Pwd));
  11.                 If (Ind=0) then Ind := Length(Pwd);
  12.                 Ascii :=  Ord(Str[Index]) + Ord(Pwd[Ind]);
  13.                 If (Ascii>255) then Ascii := Ascii - 256;
  14.                 Result := Result + Chr(Ascii);
  15.             End; {For}
  16.         EncryptStr := Result;
  17.     End; {EncryptStr}
  18.  
  19.  
  20. {** Desencripta una cadena **}
  21. Function UnEncryptStr(Str, Pwd :String) :String;
  22.     Var
  23.         Result :String;
  24.         Ascii    :Integer;
  25.     Begin
  26.         Result := '';
  27.         For Index := 1 to Length(Str) do
  28.             Begin
  29.                 Ind := (Index Mod Length(Pwd));
  30.                 If (Ind=0) then Ind := Length(Pwd);
  31.                 Ascii :=  Ord(Str[Index]) - Ord(Pwd[Ind]);
  32.                 If (Ascii<0) then Ascii := Ascii + 256;
  33.                 Result := Result + Chr(Ascii);
  34.             End; {For}
  35.         UnEncryptStr := Result;
  36.     End; {UnEncryptStr}
  37.  
         

Espero que te sea de utilidad. Saludos  ;)