Guest User

Untitled

a guest
Aug 8th, 2018
78
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Delphi 0.85 KB | None | 0 0
  1. Function ROTPassword2(Cadena: String; Password: Integer): String;
  2. var
  3.   iArray: array of integer;
  4.   Passlength: Integer;
  5.   sPassword: String;
  6.   lCadena: Integer;
  7.   i, Count, add: Integer;
  8. begin
  9.   Count:= 0;
  10.   sPassword:= IntToStr(Password);
  11.   Passlength:= Length(sPassword);
  12.   lCadena:= Length(Cadena);
  13.  
  14.   SetLength(Result, Length(Cadena));
  15.   Setlength(iArray, Passlength);
  16.  
  17.   for i:= 0 to Passlength do
  18.   begin
  19.     iArray[i] := ord(sPassword[i+1])-48;
  20.   end;
  21.  
  22.   for i:= 1 to lCadena do
  23.   begin
  24.     if (iArray[Passlength-1] < 5) then
  25.     begin
  26.       add := (ord(Cadena[i]) - iArray[Count]) ;
  27.       if add < 0 then add:= (add + 256);
  28.       Result[i]:= char(add);
  29.     end else
  30.     begin
  31.       add := (ord(Cadena[i]) - iArray[Count]) mod 256;
  32.       Result[i]:=  char(add);
  33.     end;
  34.     if Count >= (Passlength-1) then Count:= 0;
  35.   end;
  36. end;
Add Comment
Please, Sign In to add comment