对主机的mac地址MD5加密_第1页
对主机的mac地址MD5加密_第2页
对主机的mac地址MD5加密_第3页
对主机的mac地址MD5加密_第4页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、Java实现主机mac地址加密,使用MD5加密算法。1、 代码1. LOCALMAC类package com.tydic.encr;import .InetAddress;import .NetworkInterface;import .SocketException;import .UnknownHostException;public class LOCALMAC private String localMac;private static LOCALMAC lm;private LOCALMAC()try InetAddress ia = InetAddress.getLocalHost

2、();this.localMac = Ip2LocalMac(ia); catch (SocketException e) e.printStackTrace(); catch (UnknownHostException e) e.printStackTrace();public static LOCALMAC getInstance()if(lm = null)lm = new LOCALMAC();return lm;private static String Ip2LocalMac(InetAddress ia) throws SocketException /获取网卡,获取地址byte

3、 mac = NetworkInterface.getByInetAddress(ia).getHardwareAddress();StringBuffer sb = new StringBuffer();for(int i=0; imac.length; i+) if(i!=0) sb.append(-);/字节转换为整数int temp = maci&0xff;String str = Integer.toHexString(temp);if(str.length()=1) sb.append(0+str);else sb.append(str);return sb.toString().

4、toUpperCase();public String getLocalMac() return localMac;2.Password类package com.tydic.encr;import java.security.MessageDigest;public class Password private final static String hexDigits = 0, 1, 2, 3, 4, 5,6, 7, 8, 9, a, b, c, d, e, f ;/ 十六进制下数字到字符的映射数组/* 把inputString加密 */public static String create

5、Password(String inputString) return encodeByMD5(inputString);/* 对字符串进行MD5编码 */private static String encodeByMD5(String originString) if (originString != null) try / 创建具有指定算法名称的信息摘要MessageDigest md = MessageDigest.getInstance(MD5);/ 使用指定的字节数组对摘要进行最后更新,然后完成摘要计算byte results = md.digest(originString.get

6、Bytes();/ 将得到的字节数组变成字符串返回String resultString = byteArrayToHexString(results);return resultString.toUpperCase(); catch (Exception ex) ex.printStackTrace();return null;/* * 字节数组转为十六进制字符串 * * param b * 字节数组 * return 十六进制字符串 */private static String byteArrayToHexString(byte b) StringBuffer resultSb = ne

7、w StringBuffer();for (int i = 0; i b.length; i+) resultSb.append(byteToHexString(bi);return resultSb.toString();/* * 将一个字节转化成十六进制形式的字符串 */private static String byteToHexString(byte b) int n = b;if (n 0)n = 256 + n;int d1 = n / 16;int d2 = n % 16;return hexDigitsd1 + hexDigitsd2;public static void main(String args) String localmac = LOCALMAC.getInstance().getLocalMac();String password = Password.create

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论