Expermicid Posted June 4, 2012 Share Posted June 4, 2012 (edited) [lenguaje=delphi]Function Beaufort (A : String; B : String) : String; {'==============================================================='} {' AX: Cifrado Beaufort '} {' Uso: Beaufort('Texto', 'clave') '} {' Dedicado a Corp-51 '} {'==============================================================='} Var D : String; Var E : String; Var F : LongInt; Var G : Integer; Var H : Integer; Var I : String; Begin If Length(A) = 0 Then Exit; If Length(B) = 0 Then Exit; D := Trim(StringReplace(UpperCase(A), ' ', '', [rfReplaceAll])); E := Trim(StringReplace(UpperCase(B), ' ', '', [rfReplaceAll])); If Length(E) < Length(D) Then Begin For F := 1 To Length(D) - Length(E) Do E := E + Copy(E, F, 1); end; For F := 1 To Length(D) Do Begin G := Ord(Copy(D, F, 1)[1]); H := Ord(Copy(E, F, 1)[1]); If (H - G) = Abs(H - G) Then I := I + Chr((H - G) + 65) Else I := I + Chr(27 - Abs(H - G) + 65); end; Beaufort := I; end;[/lenguaje] Autor: AX Fuente: PitbullSecurity Saludos a todos Edited February 16, 2014 by Expermicid Link to comment Share on other sites More sharing options...
Recommended Posts