Codificador y Decodificador de IP's - By Darkgx

Iniciado por darkgx, 2 Enero 2010, 02:03 AM

0 Miembros y 1 Visitante están viendo este tema.

darkgx

Hola, bueno les traigo un Codificador y Decodificador de IP's en base 256. ¿Para que nos servira esto? enviar peticiones DCC en mirc, ya que al enviarlo la IP tiene que estar codificada. Bueno espero que les sirva.  :)
//CODIFICADOR//
Código (php) [Seleccionar]
<?php
//Decodificador echo por >>Darkgx<< - Todos los derechos reservados (all rights reserved)
//Fecha: 1/1/2010

$a=186;
$b=23;
$c=205;
$d=165
;
$res=($a*16777216+$b*65536+$c*256+$d*1);
print(
"La IP codificada es :".$res);
?>

USO:
Para usarla solo tienen que poner los cuatro numeros de la IP en a, b, c y d Y luego les va a decir la IP codificada.

//DECODIFICADOR//
Código (php) [Seleccionar]
<?php
//Decodificador echo por >>Darkgx<< - Todos los derechos reservados (all rights reserved)
//Fecha: 1/1/2010

$ip=3645183495;
$a=$ip/16777216//PRIMER N° DE LA IP

settype($a,"integer");
settype($var,"integer");

$b=($ip-($a*16777216));
settype($b,"integer");
$c=$b/65536// SEGUNDO N° DE LA IP
settype($c,"integer");
$d=$c*65536;
$e=($b-$d);
$f=($e/256); // TERCER N° DE LA IP
settype($f,"integer");
$g=($f*256);
$h=($e-$g); //CUARTO N° DE LA IP

print("La ip decodificada es: ".$a.".".$c.".".$f.".".$h);
?>
Para decodificarla solo pongan la IP codificada  (primero borren la ip de ejemplo) en la variablae $ip=(IP A DECODIFICAR)

Bueno espero que les sirva y si lo postean en otro lado no estaria demas poner su autor tambien   :P. Graxias y Saludos y feliz año nuevo para todos.

PD:
Opiniones, criticas y comentarios son bienvenidos!.
Darkgx  ;)

Castg!

#1
podrias hacer algo mas automatizado:


Código (php) [Seleccionar]

<?php
$p 
$_SERVER['REMOTE_ADDR'];
$ip split(".",$p);
$a $ip[0];
$b $ip[1];
$c $ip[2];
$d $ip[3];
$res=($a*16777216+$b*65536+$c*256+$d*1);
print(
"Ip original: $p\n\n Resultado:$res");
?>


o sino:

Código (php) [Seleccionar]

<?php
$p 
$_SERVER['REMOTE_ADDR'];
list(
$a$b$c$d) = split('.'$p);
$res=($a*16777216+$b*65536+$c*256+$d*1);
print(
"Ip original: $p\n\n Resultado:$res");
?>