📄 v.java
字号:
// Decompiled by DJ v3.9.9.91 Copyright 2005 Atanas Neshkov Date: 2006-5-1 19:31:44
// Home Page : http://members.fortunecity.com/neshkov/dj.html - Check often for new version!
// Decompiler options: packimports(3)
public final class v
{
public v()
{
a_int_array1d_fld = new int[5];
a_int_array1d_fld[0] = 0x67452301;
a_int_array1d_fld[1] = 0xefcdab89;
a_int_array1d_fld[2] = 0x98badcfe;
a_int_array1d_fld[3] = 0x10325476;
a_int_array1d_fld[4] = 0xc3d2e1f0;
a_long_fld = 0L;
b = new int[16];
c = new int[5];
a_int_fld = 0;
a_byte_array1d_fld = new byte[20];
}
public final byte[] GetTotalChecksum(String s)
{
return GetTotalChecksum(s.getBytes());
}
public final byte[] GetTotalChecksum(byte abyte0[])
{
return GetSegmentChecksum(abyte0, 0, abyte0.length);
}
public final byte[] GetSegmentChecksum(byte abyte0[], int i, int j)
{
EncodeArray(abyte0, i, j);
ComputeByteChecksum();
return a_byte_array1d_fld;
}
public final void EncodeArray(byte abyte0[], int i, int j)
{
for(int k = 0; k < j; k++)
EncodeByte(abyte0[k + i]);
}
public final void EncodeByte(byte byte0)
{
int i = 8 * (a_int_fld & 3);
a_long_fld += 8L;
b[a_int_fld >> 2] &= ~(255 << i);
b[a_int_fld >> 2] |= (byte0 & 0xff) << i;
a_int_fld++;
if(a_int_fld == 64)
{
ComputeIntChecksum();
a_int_fld = 0;
}
}
public final int a(int i, int j)
{
int k;
return k = i << j | i >>> 32 - j;
}
public final int a(int i)
{
b[i] = a(b[i], 24) & 0xff00ff00 | a(b[i], 8) & 0xff00ff;
return b[i];
}
public final int b(int i)
{
b[i & 0xf] = a(b[i + 13 & 0xf] ^ b[i + 8 & 0xf] ^ b[i + 2 & 0xf] ^ b[i & 0xf], 1);
return b[i & 0xf];
}
public final void a(int ai[], int i, int j, int k, int l, int i1, int j1)
{
ai[i1] += (ai[j] & (ai[k] ^ ai[l]) ^ ai[l]) + a(j1) + 0x5a827999 + a(ai[i], 5);
ai[j] = a(ai[j], 30);
}
public final void b(int ai[], int i, int j, int k, int l, int i1, int j1)
{
ai[i1] += (ai[j] & (ai[k] ^ ai[l]) ^ ai[l]) + b(j1) + 0x5a827999 + a(ai[i], 5);
ai[j] = a(ai[j], 30);
}
public final void c(int ai[], int i, int j, int k, int l, int i1, int j1)
{
ai[i1] += (ai[j] ^ ai[k] ^ ai[l]) + b(j1) + 0x6ed9eba1 + a(ai[i], 5);
ai[j] = a(ai[j], 30);
}
public final void d(int ai[], int i, int j, int k, int l, int i1, int j1)
{
ai[i1] += ((ai[j] | ai[k]) & ai[l] | ai[j] & ai[k]) + b(j1) + 0x8f1bbcdc + a(ai[i], 5);
ai[j] = a(ai[j], 30);
}
public final void e(int ai[], int i, int j, int k, int l, int i1, int j1)
{
ai[i1] += (ai[j] ^ ai[k] ^ ai[l]) + b(j1) + 0xca62c1d6 + a(ai[i], 5);
ai[j] = a(ai[j], 30);
}
public final void ComputeIntChecksum()
{
c[0] = a_int_array1d_fld[0];
c[1] = a_int_array1d_fld[1];
c[2] = a_int_array1d_fld[2];
c[3] = a_int_array1d_fld[3];
c[4] = a_int_array1d_fld[4];
a(c, 0, 1, 2, 3, 4, 0);
a(c, 4, 0, 1, 2, 3, 1);
a(c, 3, 4, 0, 1, 2, 2);
a(c, 2, 3, 4, 0, 1, 3);
a(c, 1, 2, 3, 4, 0, 4);
a(c, 0, 1, 2, 3, 4, 5);
a(c, 4, 0, 1, 2, 3, 6);
a(c, 3, 4, 0, 1, 2, 7);
a(c, 2, 3, 4, 0, 1, 8);
a(c, 1, 2, 3, 4, 0, 9);
a(c, 0, 1, 2, 3, 4, 10);
a(c, 4, 0, 1, 2, 3, 11);
a(c, 3, 4, 0, 1, 2, 12);
a(c, 2, 3, 4, 0, 1, 13);
a(c, 1, 2, 3, 4, 0, 14);
a(c, 0, 1, 2, 3, 4, 15);
b(c, 4, 0, 1, 2, 3, 16);
b(c, 3, 4, 0, 1, 2, 17);
b(c, 2, 3, 4, 0, 1, 18);
b(c, 1, 2, 3, 4, 0, 19);
c(c, 0, 1, 2, 3, 4, 20);
c(c, 4, 0, 1, 2, 3, 21);
c(c, 3, 4, 0, 1, 2, 22);
c(c, 2, 3, 4, 0, 1, 23);
c(c, 1, 2, 3, 4, 0, 24);
c(c, 0, 1, 2, 3, 4, 25);
c(c, 4, 0, 1, 2, 3, 26);
c(c, 3, 4, 0, 1, 2, 27);
c(c, 2, 3, 4, 0, 1, 28);
c(c, 1, 2, 3, 4, 0, 29);
c(c, 0, 1, 2, 3, 4, 30);
c(c, 4, 0, 1, 2, 3, 31);
c(c, 3, 4, 0, 1, 2, 32);
c(c, 2, 3, 4, 0, 1, 33);
c(c, 1, 2, 3, 4, 0, 34);
c(c, 0, 1, 2, 3, 4, 35);
c(c, 4, 0, 1, 2, 3, 36);
c(c, 3, 4, 0, 1, 2, 37);
c(c, 2, 3, 4, 0, 1, 38);
c(c, 1, 2, 3, 4, 0, 39);
d(c, 0, 1, 2, 3, 4, 40);
d(c, 4, 0, 1, 2, 3, 41);
d(c, 3, 4, 0, 1, 2, 42);
d(c, 2, 3, 4, 0, 1, 43);
d(c, 1, 2, 3, 4, 0, 44);
d(c, 0, 1, 2, 3, 4, 45);
d(c, 4, 0, 1, 2, 3, 46);
d(c, 3, 4, 0, 1, 2, 47);
d(c, 2, 3, 4, 0, 1, 48);
d(c, 1, 2, 3, 4, 0, 49);
d(c, 0, 1, 2, 3, 4, 50);
d(c, 4, 0, 1, 2, 3, 51);
d(c, 3, 4, 0, 1, 2, 52);
d(c, 2, 3, 4, 0, 1, 53);
d(c, 1, 2, 3, 4, 0, 54);
d(c, 0, 1, 2, 3, 4, 55);
d(c, 4, 0, 1, 2, 3, 56);
d(c, 3, 4, 0, 1, 2, 57);
d(c, 2, 3, 4, 0, 1, 58);
d(c, 1, 2, 3, 4, 0, 59);
e(c, 0, 1, 2, 3, 4, 60);
e(c, 4, 0, 1, 2, 3, 61);
e(c, 3, 4, 0, 1, 2, 62);
e(c, 2, 3, 4, 0, 1, 63);
e(c, 1, 2, 3, 4, 0, 64);
e(c, 0, 1, 2, 3, 4, 65);
e(c, 4, 0, 1, 2, 3, 66);
e(c, 3, 4, 0, 1, 2, 67);
e(c, 2, 3, 4, 0, 1, 68);
e(c, 1, 2, 3, 4, 0, 69);
e(c, 0, 1, 2, 3, 4, 70);
e(c, 4, 0, 1, 2, 3, 71);
e(c, 3, 4, 0, 1, 2, 72);
e(c, 2, 3, 4, 0, 1, 73);
e(c, 1, 2, 3, 4, 0, 74);
e(c, 0, 1, 2, 3, 4, 75);
e(c, 4, 0, 1, 2, 3, 76);
e(c, 3, 4, 0, 1, 2, 77);
e(c, 2, 3, 4, 0, 1, 78);
e(c, 1, 2, 3, 4, 0, 79);
a_int_array1d_fld[0] += c[0];
a_int_array1d_fld[1] += c[1];
a_int_array1d_fld[2] += c[2];
a_int_array1d_fld[3] += c[3];
a_int_array1d_fld[4] += c[4];
}
public final void ComputeByteChecksum()
{
byte abyte0[] = new byte[8];
for(int i = 0; i < 8; i++)
abyte0[i] = (byte)(int)(a_long_fld >>> (7 - i) * 8 & 255L);
EncodeByte((byte)-128);
while(a_int_fld != 56)
EncodeByte((byte)0);
EncodeArray(abyte0, 0, abyte0.length);
for(int j = 0; j < 20; j++)
a_byte_array1d_fld[j] = (byte)(a_int_array1d_fld[j >> 2] >> (3 - (j & 3)) * 8 & 0xff);
}
private int a_int_array1d_fld[];
private long a_long_fld;
public byte a_byte_array1d_fld[];
private int b[];
private int a_int_fld;
private int c[];
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -