![](/img/trans.png)
[英]Find out IP address associated with MAC Address in servlet web application
[英]Find out given mac address is in range or not
我想知道給定的mac地址是否在指定的mac地址范圍內。
例如,我定義了開始和結束地址。 如果您提供此范圍內的任何mac地址,則API必須返回true,否則返回false。
例如:70-71-BC-90-0D-01在范圍內,70-71-BC-90-0D-FF不在范圍內。
Begin address: 70-71-BC-90-00-00
End address : 70-71-BC-90-0D-F7
謝謝
要完全通用范圍(而不僅僅是回答此特定范圍),您可以創建BigInteger
實例並進行比較。
要創建BigInteger
,我們將MAC地址視為數字的十六進制表示。
以下實現不關心:
'-'
分隔符 Java代碼:
BigInteger min = new BigInteger(minAddr.replace("-",""), 16);
BigInteger max = new BigInteger(maxAddr.replace("-",""), 16);
BigInteger test = new BigInteger(testAddr.replace("-",""), 16);
boolean isInRange = min.compareTo(test) <= 0 && max.compareTo(test) >= 0;
如果需要檢查多個MAC地址,顯然可以緩存min
和max
BigInteger
。
由於0-9個字符是“小於”AZ字符,並且所有輸入長度相同,只需使用字符串比較:
String beginAddress = "70-71-BC-90-00-00";
String endAddress = "70-71-BC-90-0D-F7";
if (macAddress.compareToIgnoreCase(beginAddress) >= 0
&& macAddress.compareToIgnoreCase(endAddress) <= 0)
// in range
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.