public static long IPToLong(string ipAddress)
{
try
{
System.Net.IPAddress ip = System.Net.IPAddress.Parse(ipAddress);
return (((long)ip.GetAddressBytes()[0] << 24) | ((int)ip.GetAddressBytes()[1] << 16) | ((int)ip.GetAddressBytes()[2] << 8) | ip.GetAddressBytes()[3]);
}
catch (Exception)
{
return 0;
}
}
public static string LongToIP(long ipAddress)
{
try
{
System.Net.IPAddress tmpIp = System.Net.IPAddress.Parse(ipAddress.ToString());
Byte[] bytes = tmpIp.GetAddressBytes();
long addr = (long)BitConverter.ToInt32(bytes, 0);
return new System.Net.IPAddress(addr).ToString();
}
catch (Exception e) { return e.Message; }
}
// Exemples d'utilisations
// long longFromIP = IpToLong("127.0.0.1"); // retournera 2130706433
// string ipFromLong = LongToIo(2130706433); // retournera 127.0.0.1