IT
IP 대역대 검사하기 (IP String -> IP Long Convert)
Prod. No. 7
2016. 10. 23. 12:13
하나의 IP 를 받아서 시작 IP 와 끝 IP 를 저장한 DB 를 참고로...
해당 IP 가 대역대에 속하는지 여부를 판단하는 코드를 구현중인데...
String 들을 어찌할까나... 하던 찰나...
IP 를 Long Type 으로 변경해서 산술 연산이 가능하도록 해주는 코드를 발견...
역시 세상엔 천재들이 많다. -_-;
'192.168.0.1' String Type 을 넘기면 Long Type 으로 반환해주는 함수.
Long Type 으로 변경해서 DB 에는 bigint Type 으로 저장해주고 Long 으로 받으면 끝.
public long ipToLong(String ipAddress) {
String[] ipAddressInArray = ipAddress.split("\\.");
long result = 0;
for (int i = 0; i < ipAddressInArray.length; i++) {
int power = 3 - i;
int ip = Integer.parseInt(ipAddressInArray[i]);
result += ip * Math.pow(256, power);
}
return result;
}