끄적거림들...

IP 대역대 검사하기 (IP String -> IP Long Convert) 본문

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;

}

Comments