Thema: Delphi ip crypten

Einzelnen Beitrag anzeigen

Benutzerbild von d3g
d3g

Registriert seit: 21. Jun 2002
602 Beiträge
 
#10
  Alt 16. Jun 2003, 16:20
Zwei Sachen:

1. Es heißt nicht IP, sondern IP-Adresse. Hättest du vor einem Fachpublikum gefragt, wie du eine IP verschlüsseln kannst, hätten die sofort gedacht, du willst wissen, wie man eine Internet Protocol Connection verschlüsselt - die Antwort wäre IPsec gewesen, aber das ist überhaupt nicht, was du willst. Ist es aber klar, was du mit "IP" meinst, wirst du ignoriert, weil man eben dadurch merkt, dass du nicht soviel Ahnung von dem, was eigentlich im Hintergrund der Internet-Netzwerkstruktur abläuft, hast, was bei einem Fachpublikum nicht so gut ankommt - nur so als gut gemeinter Ratschlag.

2. Ich nehme an, was du willst, ist einfach eine andere Darstellungsweise der IP-Adresse (was sakura auch schon gestreift hatte). Die ist nämlich ein ganz einfacher Cardinal (32 bit ohne Vorzeichen). Diese ist zum einfacheren Merken einfach in vier Bytes aufgeteilt und diese sind mit Punkten getrennt - will man sich die IP-Adresse von delphipraxis.net merken, ist 217.160.135.137 doch viel einfacher als 3651176329. 3651176329 ist aber im Grunde genommen genau das gleiche. Umrechnen ist auch ganz einfach, man muss nur die einzelnen Bytes an die richtige Stelle schieben:
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;
Die Funktion ist natürlich nicht idiotensicher, eine Prüfung der Adresse solltest du vorher noch vornehmen. Außerdem weiß jeder, der ein bisschen Ahnung hat, sofort, was diese IP-Adresse soll, und alle, die es nicht wissen, bedienen Google. Es bringt eigentlich nichts.

d3g
-- Crucifixion?
-- Yes.
-- Good. Out of the door, line on the left, one cross each.
  Mit Zitat antworten Zitat