Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Delphi IP-Adresse konvertieren/"verschlüsseln" (https://www.delphipraxis.net/44047-ip-adresse-konvertieren-verschluesseln.html)

Uncle Cracker 12. Apr 2005 16:06


IP-Adresse konvertieren/"verschlüsseln"
 
Ich habe hier im Forum folgende Funktion gefunden um die IP-Adresse zu "verschlüsseln":

Delphi-Quellcode:
function BytewiseToDwordIPAddr(Addr: String): Cardinal;
var
  i: Integer;
  a: array[0..3] of Byte;
begin
  for i := 0 to 3 do begin
    a[i] := StrToInt(Copy(Addr, 0, Pos('.', Addr) - 1));
    Delete(Addr, 0, Pos('.', Addr));
  end;
  Result := (a[0] shl 24) or (a[1] shl 16) or (a[2] shl 8) or a[3];
end;

Doch leider funktioniert diese Funktion nicht so richtig, denn es wird falsch konvertiert :(

Wenn ich die Funktion nämlich so auf rufe "Showmessage(InttoStr(BytewiseToDwordIPAddr('127.0 .0.1')));" dann kommt zwar folgendes raus "2139062143", jedoch entspricht das der IP-Adresse "127.127.127.127"...

Kennt vielleicht noch jemand einen andere Methode um eine IP-Adresse zu "verschlüsseln" bzw. zu konvertieren...?


:love: Danke UC

BKempf 12. Apr 2005 16:23

Re: IP-Adresse konvertieren/"verschlüsseln"
 
Falls Buchstaben erlaubt sind, könntest du die IP-Adresse einfach in Hex schreiben.
127.0.0.1 -> 7F000001

marabu 12. Apr 2005 16:48

Re: IP-Adresse konvertieren/"verschlüsseln"
 
Schaut euch mal die OH hierzu an:
Delphi-Quellcode:
uses
  WinSock,
  SysUtils;
var
  s, s1, s2: string;
  c1, c2: cardinal;
begin
  s := '127.0.0.1';
  c1 := Inet_Addr(PChar(s));
  c2 := htonl(c1);
  s1 := IntToHex(c1, 8);
  s2 := IntToHex(c2);
end;

Uncle Cracker 12. Apr 2005 21:32

Re: IP-Adresse konvertieren/"verschlüsseln"
 
Jo danke, genau das hatte ich gesucht gehabt...


Alle Zeitangaben in WEZ +1. Es ist jetzt 07:52 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz