lxw
2023-08-15 160e150009b51a39fa95d9462c3798ba28d51a09
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
package com.whyc.util;
 
import java.math.BigInteger;
import java.util.ArrayList;
import java.util.List;
 
public class MacUtil {
    public static String macStart = "00:30:1B";
 
    public static List getMac(String start, int count) {
        start = start.replaceAll(":", "");
        String result = "";
        List list = new ArrayList();
        BigInteger num = new BigInteger(start, 16);
        BigInteger addNum = new BigInteger("1");
        for (int i = 0; i < count; i++) {
            result = num.toString(16).toUpperCase();
            for (int j = 6 - result.length(); j > 0; j--) {
                result = "0" + result;
            }
            String mac = getMacAdr(result);
            num = num.add(addNum);
            list.add(mac);
        }
 
        return list;
    }
 
    private static String getMacAdr(String str) {
        StringBuilder result = new StringBuilder("");
        for (int i = 1; i <= 6; i++) {
            result.append(str.charAt(i - 1));
            if (i % 2 == 0) {
                result.append(":");
            }
        }
        return result.substring(0, 8);
    }
}