Tu comunidad de Seguridad Informatica

Para ver Todo el contenido del foro es necesario estar Registrado!
Antes de comentar o Aportar es Obligado Leer Las: Reglas | Rules
Ya Esta Disponible al publico "LeProject" el Videojuego del Foro Click Aquí Para Ver el Post.
Pitbull Security Labs "Extras" Esta Disponible! [ENTRA]

No estás conectado. Conéctate o registrate

Ver el tema anterior Ver el tema siguiente Ir abajo  Mensaje [Página 1 de 1.]

1AX 

avatar
Moderadores
Moderadores

Ver perfil de usuario
el Sáb Jun 11, 2011 3:07 pm
También conocido como Segundo cifrado de Vigenère.

Código:
Function Autoclave(A : String; B : String; C : Integer) : String;
{'================================================================='}
{' AX: Segundo cifrado de Vigenère                                '}
{' Uso: Autoclave('Texto', 'Clave', 1/2)                          '}
{' Cifrar (1)  |  Descifrar (2)                                    '}
{'================================================================='}
 
Var D : LongInt;
Var E : String;
Var F : Integer;
Var G : Integer;
Var H : String;
Var I : String;
Var K : Integer;
Var L : Integer;
Const T = 'ABCDEFGHIJKLMNÑOPQRSTUVWXYZ';
Begin
If (Length(A) = 0) Or (Length(B) = 0) Then Exit;
If Not (C = 1) Then If Not (C = 2) Then Exit;
L := 1;
 
A := StringReplace(UpperCase(Trim(A)), ' ', '', [rfReplaceAll]);
B := StringReplace(UpperCase(Trim(B)), ' ', '', [rfReplaceAll]);
 
If Length(B) < Length(A) Then For D := 1 To Length(A) - Length(B) Do E := E + Copy(A, D, 1);
 
If (C = 2) Then Begin
For D := 1 To Length(A) Do Begin
F := Pos(Copy(A, D, 1), T) - 1;
G := Pos(Copy(B, L, 1), T) - 1;
 
If (F - G) < 0 Then K := 27 + (F - G) + 1 Else K := (F - G) Mod 27 + 1;
 
I := I + Copy(T, Pos(Copy(T, K, 1), T), 1);
H := H + Copy(T, Pos(Copy(T, K, 1), T), 1);
If Length(B) = Length(I) Then Begin B := I; I := ''; L := 0; end;
L := L + 1;
end;
end Else Begin
For D := 1 To Length(A) Do Begin
F := Pos(Copy(A, D, 1), T) - 1;
G := Pos(Copy(B + E, D, 1), T) - 1;
H := H + Copy(T, Pos(Copy(T, (F + G) Mod 27 + 1, 1), T), 1);
end;
end;
 
Autoclave := H;
End;

Saludos.

Ver el tema anterior Ver el tema siguiente Volver arriba  Mensaje [Página 1 de 1.]

Temas similares

-

» mensaje cifrado

Permisos de este foro:
No puedes responder a temas en este foro.