效率好,10万个只需要15毫秒左右,支持跳数生成

可用该方法生成34进制,26进制等数

跳数为0时为顺序生成,
跳数为1时,则跳过一个再生成,如frontMac为00:00:00:00:00:01 ,skipNum = 1,则生成的mac为00:00:00:00:00:03

    /*** 自行去掉日志打印会更快* @param startMac 开始的mac* @param skipNum 跳数* @param howMany 生成多少个*/private static void generateMacs(String startMac,int skipNum,int howMany){long startTime = System.currentTimeMillis();StringBuilder stringBuilder = new StringBuilder();stringBuilder.append(startMac).append("\n");String newMac ;String oldMac = startMac;for(int i = 0; i< howMany; i++){newMac = generateMacsAddress(oldMac,skipNum);stringBuilder.append(newMac).append("\n");oldMac = newMac;}long usedTime = System.currentTimeMillis() - startTime;System.out.println(stringBuilder);System.out.println("用时 : "+usedTime + " ms");}

代码分开写时因为下面的方法其他地方也可以用到(例如每增加一个mac,就去读U盘的文件),分开写可以物尽其用

    /*** mac生成器* @param frontMac 前置mac,根据前置mac生成下一个mac地址* @param skipNum 跳数,每跳几个mac生成,跳数为0时为顺序生成,*                跳数为1时,则跳过一个再生成,如frontMac为00:00:00:00:00:01 ,skipNum = 1,则生成的mac为00:00:00:00:00:03*/private static String generateMacsAddress(String frontMac,int skipNum){char[] arr  = frontMac.toCharArray();char[] letters = new char[]{'0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F'};int remainder = skipNum + 1;for(int m = arr.length-1; m>=0; m--){if(arr[m] == ':') continue;int index = getArrIndex(arr[m],letters);index = index + remainder;if(index >= letters.length){remainder = index / letters.length;index = index % letters.length;arr[m] = letters[index];}else{arr[m] = letters[index];break;}}return String.valueOf(arr);}
    private static int getArrIndex(char ch,char[] letters){int i = 0;for (char let:letters) {if(let == ch)return i;i++;}return 0;}

MAC地址生成器(可带跳数)相关推荐

  1. 华为数通笔记-MAC地址

    MAC简介 MAC基本概念 MAC(Media Access Control)地址用来定义网络设备的位置.MAC地址由48比特长.12位的16进制数字组成,其中从左到右开始,0到23bit是厂商向IE ...

  2. wireshark学习笔记(MAC地址欺骗)

    打开kali linux,我们可以使用kali中的macchanger软件更改我们在交换机中的MAC地址,达到隐藏我们真实MAC地址的目的. 在终端界面中输入macchanger -h可以查看macc ...

  3. Java随机生成Mac地址(GitHub源码下载)

    生成随机 Mac 地址 这段时间做项目,涉及到虚拟机 Mac 地址生成,网上找了一些 Java 随机生成 Mac 地址的代码,大多都是从 {'0', '1', '2', '3', '4', '5', ...

  4. 通信管理员(一)居于MAC地址的网络通信

    通信管理员(一)居于MAC地址的网络通信 文章目录 前言 一.居于MAC的网络通信的互联网物理地址PA分配 二.路由器和终端设备(主机) 总结 前言 没有办法,这将是一场持久战,要劳逸结合.到处游玩( ...

  5. java发送邮件,带跳转链接地址(包含遇见的坑)

    java发送邮件带url.带html .带跳转页面 ①创建密码验证器类(不知道干啥用的) package com.mail.test;import javax.mail.Authenticator; ...

  6. Mac地址自动生成器核心处理类

    1.更新MAC地址 将注册表中的键值添加上MAC地址 2.重新连接网络 试过了3个方法: ManagementClass最新提供了Disable,Enable方法,但只支持Vista操作系统      ...

  7. 003A-设备连接方式、以太帧类型、mac地址

    文章目录 1.模拟器安装 2.设备连接方式 ①.console连接方式 ②.telnet明文方式 3.以太帧 ①.2种类型的帧格式 ②.以太2帧格式 ③.802.3帧格式 4.mac地址 ①.mac地 ...

  8. 计网链路层mac地址和ip地址缺一不可

    在学习之途有个疑问,为什么要分链路层和网络层,链路层的帧还要包裹网络层的数据包,这难道不是既麻烦又浪费时间吗?随着这个疑问往下继续深究. 1.链路层中        我们知道链路层是MAC地址,网络层 ...

  9. Mac地址怎么做到全球唯一的?

    IP地址和Mac地址产生的目的是方便别人找到自己 Mac地址有点像身份证号码,而IP地址就像门牌号码.在茫茫大海中仅凭一个身份证号码找到一颗别样的沙粒很难,但如果先找到具体的沙滩,沙滩划分很小的网格片 ...

  10. cisco 2960 VLAN MAC_华为网络初级工程师快速掌握基于MAC地址的VLAN划分实用收藏

    点上方蓝字关注公众号 学网络,就在IE-LAB 国内最著名的高端网络工程师培养基地 HCIA DATCOM基础入门技术基于MAC地址的VLAN划分 基于mac 地址VLAN划分方式,是一种动态的VLA ...

最新文章

  1. Nature综述 | 种内多样性:解释微生物组中的菌株
  2. 安装VMwareTools后虚拟机中的鼠标滚轮无法使用解决办法
  3. 前端rem单位的正确使用姿势(转)
  4. netcore命令行部署|跨域问题
  5. mysql groupby 日期_sql 语言 groupBy 分组统计时间段解决方案
  6. python能进行切片操作的数据类型可以是_Python新手学习基础之数据类型——字符串的切片截取...
  7. centos7安装tomcat8.5.46版本碰到的问题
  8. 顶会论文轮番炸场,本周哪些论文最值得读?
  9. 枚举算法:最小连续n个合数。试求出最小的连续n个合数(其中n是键盘输入的任意正整数)。
  10. centos环境下安装redis
  11. 【java】计算 list 中每一行的合计值
  12. 手机APP脚本录制(LoadRunner 12)
  13. Delphi2007,XE2 调用GetVersionEx在Win10下为6.1的原因及解决方法
  14. nvidia控制面板点了没反应win7_win7 nvidia控制面板没反应打不开 解决办法
  15. 各省份国内、入境旅游人数 (2007-2018年)
  16. Python包:包的概念、2种建立包方式、包的使用(代码 + 图文)
  17. 专门查英语单词的软件_查英语单词的工具
  18. GBase 8s 编写使用UDR(C/Java)
  19. js限制input的输入字符的长度,区分中英文
  20. 细化(thinning)

热门文章

  1. 计算机导论课程设计总结,大学计算机导论实践课程设计报告.doc
  2. 数据清洗Chap4——dataframe操作
  3. vue数据未加载完成前显示loading遮罩
  4. 关于“无法从传输连接中读取数据: 尝试读取或写入受保护的内存。这通常指示其他内存已损坏。”错误的解决方法之一
  5. eclipse安装SVN插件
  6. python将经纬度标注在地图上_Python 给定的经纬度标注在地图上的实现方法
  7. Java常用框架面试题
  8. 图元变形lisp源码_CAD lisp 实用小程序(源代码)
  9. 嵌入式软件开发是什么?
  10. python生成条形码和二维码