📄 macman.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 + -