Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- function EncryptIPAdress(Adress: String; Passcode: Word): TIPCode;
- var
- OutputString: TIPCode;
- i: Integer;
- OldIndex: Integer;
- NewIndex: Integer;
- InputInteger: uint64;
- TempByte: uint64;
- begin
- Result := '';
- NewIndex := 0;
- InputInteger := 0;
- Adress := Adress + '.';
- for i := 0 to 3 do begin
- OldIndex := NewIndex;
- NewIndex:=Pos('.',Adress,OldIndex+1);
- TempByte:= StrToInt(Copy(Adress,OldIndex+1,NewIndex-OldIndex-1));
- InputInteger := InputInteger or (TempByte shl (i*8));
- end;
- InputInteger := InputInteger + (uint64(Passcode) * 4294967296);
- for i := 0 to 9 do begin
- OutputString[i]:=CustomCharset[InputInteger div Round(IntPower(24,i)) mod 24];
- end;
- Result:=OutputString;
- end;
- procedure DecryptIPCode(IpCode: String; var Adress: String; var Passcode: Word); overload;
- var
- i: Integer;
- OutputInteger: uint64;
- AdressInt: uint64;
- begin
- OutputInteger := 0;
- for i := 0 to 9 do begin
- OutputInteger := OutputInteger + GetCharIndex(IpCode[i+1]) * Round(IntPower(24,i));
- end;
- Passcode := OutputInteger div 4294967296;
- // AdressInt
- { for i := 0 to 3 do begin
- if i > 0 then Adress := Adress + '.';
- Adress := Adress + IntToStr(OutputInteger div Round(IntPower(256,i)) mod 256);
- end;}
- end;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement