|
5精币
public static final byte[] c(int paramInt, byte[] paramArrayOfByte)
{
Object localObject = evF;
int[] arrayOfInt2 = new int[8];
System.arraycopy(localObject, 0, arrayOfInt2, 0, 8);
int[] arrayOfInt1 = new int[8];
System.arraycopy(localObject, 8, arrayOfInt1, 0, 8);
byte[] arrayOfByte = new byte[8];
int i = new Random(System.currentTimeMillis()).nextInt();
arrayOfByte[0] = ((byte)(byte)(i >> 24 & 0xFF));
arrayOfByte[1] = ((byte)(byte)(i >> 16 & 0xFF));
arrayOfByte[2] = ((byte)(byte)(i >> 8 & 0xFF));
arrayOfByte[3] = ((byte)(byte)(i & 0xFF));
arrayOfByte[4] = ((byte)(byte)((arrayOfByte[0] + 87) % 256));
arrayOfByte[5] = ((byte)(byte)((arrayOfByte[1] + 29) % 256));
arrayOfByte[6] = ((byte)(byte)((arrayOfByte[2] + 171) % 256));
arrayOfByte[7] = ((byte)(byte)((arrayOfByte[3] + 148) % 256));
int j = paramArrayOfByte.length;
localObject = new byte[j + 10];
localObject[0] = ((byte)109);
localObject[1] = ((byte)57);
localObject[2] = ((byte)48);
localObject[3] = ((byte)(byte)paramInt);
localObject[4] = ((byte)arrayOfByte[0]);
localObject[5] = ((byte)arrayOfByte[1]);
localObject[6] = ((byte)arrayOfByte[2]);
localObject[7] = ((byte)arrayOfByte[3]);
i = 0;
for (paramInt = 0; paramInt < j; paramInt++)
{
if (paramInt % 8 == 0)
{
arrayOfInt2[0] = ((arrayOfInt2[0] + arrayOfInt1[0] + arrayOfByte[0]) % 256);
arrayOfInt2[1] = ((arrayOfInt2[1] + arrayOfInt1[1] + arrayOfByte[1]) % 256);
arrayOfInt2[2] = ((arrayOfInt2[2] + arrayOfInt1[2] + arrayOfByte[2]) % 256);
arrayOfInt2[3] = ((arrayOfInt2[3] + arrayOfInt1[3] + arrayOfByte[3]) % 256);
arrayOfInt2[4] = ((arrayOfInt2[4] + arrayOfInt1[4] + arrayOfByte[4]) % 256);
arrayOfInt2[5] = ((arrayOfInt2[5] + arrayOfInt1[5] + arrayOfByte[5]) % 256);
arrayOfInt2[6] = ((arrayOfInt2[6] + arrayOfInt1[6] + arrayOfByte[6]) % 256);
arrayOfInt2[7] = ((arrayOfInt2[7] + arrayOfInt1[7] + arrayOfByte[7]) % 256);
}
int k = paramArrayOfByte[paramInt] & 0xFF;
localObject[(paramInt + 8)] = ((byte)(byte)((arrayOfInt2[(paramInt % 8)] ^ k) & 0xFF));
i ^= k;
}
localObject[(j + 8)] = ((byte)(byte)((arrayOfInt2[0] ^ i) & 0xFF));
localObject[(j + 8 + 1)] = ((byte)(byte)((i ^ arrayOfInt2[1]) & 0xFF));
return (byte[])localObject;
}
}
|
最佳答案
查看完整内容
自写的算法吧 都是些运算 代码不多 照着翻译就是
|