⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 macman.java

📁 用mina框架编写的转发代理服务程序,含自动更新功能
💻 JAVA
字号:
package com.frontMachine.util;

/**
 * @MAC计算函数类
 * @author kingchen
 * @version 1.0
 */
public class MACMan
{
	private String getTXMAC(String XML)
	{
		try
		{
			if(XML.length()<10)
			{
				return "";
			}
			XML = "<AP>"+StrUtil.getXMLData(XML,"AP")+"</AP>";
			byte[] bt = XML.getBytes();
			byte[] dn = {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00};
			int size = bt.length;
			int len = (int)((size+7)/8)*8;
			byte[] dA = new byte[len];
			for(int i=0;i<size;i++) 
			{
				dA[i] = bt[i];
			}
			for(int i=size;i<len;i++)//补0
			{
				dA[i] = 0x00;
			}
			int n = 0;
			for(int i=0;i<len;i++)
			{
				dn[n] = (byte)(dA[i]^dn[n]);
				n++;
				if(n==8) n=0;
			}
			byte[] keyBytes = 
			{
					(byte)0x88,(byte)0x88,(byte)0x88,(byte)0x88,(byte)0x88,(byte)0x88,(byte)0x88,(byte)0x88
			};
			Des des = new Des();
			String mac = des.byte2hex(des.encryptMode(keyBytes,dn));
			if(mac.length()<16)
			{
				return "";
			}
			mac = mac.substring(0,16);
			return mac;
		}
		catch (RuntimeException e)
		{
			return "";
		}
	}
	public boolean checkTXMAC(String XML)
	{
		String xml = "<AP>" + StrUtil.getXMLData(XML,"AP") + "</AP>";
		if(xml.length()<10)
		{
			return false;
		}
		String oldMac = XML.substring(XML.lastIndexOf("</AP>")+5,XML.length());
		String newMac = getTXMAC(xml);
		if(oldMac.equals(newMac))
		{
			return true;
		}
		return false;
	}
		
	public String countTXMAC(String XML)
	{
		return "<AP>"+StrUtil.getXMLData(XML,"AP")+"</AP>"+getTXMAC(XML);

	}
	
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -