[code="java"]
private static final byte[] a;
static
{
new byte[] { 8, 2, 11, 12, 1, 10, 0, 13, 7, 3, 14, 5, 15, 6, 4 }[15] = 9;
a = new byte[] { 6, 4, 1, 9, 14, 11, 13, 8, 0, 15, 5, 2, 3, 7, 10, 12 };
}
public static byte[] a(byte[] paramArrayOfByte)
{
byte[] arrayOfByte = new byte[paramArrayOfByte.length];
for (int i = 0; i < paramArrayOfByte.length; i++)
{
int tmp12_11 = i;
byte[] tmp12_10 = arrayOfByte;
tmp12_10[tmp12_11] = (byte)(tmp12_10[tmp12_11] + (a[(paramArrayOfByte[i] >>> 4 & 0xF)] << 4));
int tmp33_32 = i;
byte[] tmp33_31 = arrayOfByte;
tmp33_31[tmp33_32] = (byte)(tmp33_31[tmp33_32] + a[(paramArrayOfByte[i] & 0xF)]);
}
return arrayOfByte;
}
[/code]
这个好象是对字节进行重组的。有人能帮忙写出反重组么?就是调用这个方法重组字节后,再用另一个方法重组回原来样子。。