|
|
Quellcode |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 |
import java.io.Serializable;
/**
*
* @author Flav
*/
public class Password {
private static final int c(Object obj)
{
String s1 = obj.toString();
int i1 = 0;
int j1 = 0;
int k1 = 0;
int l1 = 0;
for(int i2 = s1.length(); l1 < i2; l1++)
{
j1 = j1 * ((k1 & 3) == 3 ? 3 : 5) + s1.charAt(i2 - l1 - 1);
k1 = i1 ^ j1;
i1 = i1 * ((k1 & 4) != 0 ? 7 : 3) + s1.charAt((l1 * 43973) % i2);
}
return k1 >>> 26 ^ (j1 ^ i1) & 0x3ffffff;
}
public static String a(String s1, String s2)
{
int i1 = s1.length();
int j1 = s2.length();
int k1 = i1 ^ j1 << 4;
if(i1 < 1)
return s1;
if(j1 < 1)
return s2;
int l1 = i1;
if(j1 > l1)
l1 = j1;
StringBuffer stringbuffer = new StringBuffer(l1);
for(int i2 = 0; i2 < l1; i2++)
stringbuffer.append((char)(s1.charAt(i2 % i1) ^ s2.charAt(i2 % j1) ^ k1));
return stringbuffer.toString();
}
private static int ah(String s1)
{
int i1 = 0;
int j1 = 0;
int k1 = 0;
int l1 = s1.length();
if(l1 < 19)
{
for(int i2 = l1 - 1; i2 >= 0; i2--)
{
i1 = i1 * 3 + s1.charAt(i2);
j1 = j1 * 5 + s1.charAt(l1 - i2 - 1);
}
} else
{
int j2 = l1 / 19;
for(int l2 = l1 - 1; l2 >= 0; l2 -= j2)
{
i1 = i1 * 5 + s1.charAt(l2);
j1 = j1 * 3 + s1.charAt(l1 - l2 - 1);
}
}
k1 = i1 ^ j1;
return k1 & 0xffffff ^ k1 >> 24;
}
public static String a(Object obj, Serializable serializable)
{
String s1 = obj.toString();
int i1 = s1.length();
String s2 = serializable.toString();
int j1 = s2.length();
int k1 = j1 ^ i1 << 3;
int l1 = i1;
if(j1 < 1)
return s1;
if(i1 < 1)
return s2;
if(j1 > l1)
l1 = j1;
StringBuffer stringbuffer = new StringBuffer(l1);
int i2 = s2.charAt(0);
int j2 = s1.charAt(0);
for(int l2 = 0; l2 < l1;)
{
if(i2 >= i1)
i2 = 0;
if(j2 >= j1)
j2 = 0;
stringbuffer.append((char)(k1 ^ s1.charAt(i2) ^ s2.charAt(j2)));
l2++;
i2++;
j2++;
}
return stringbuffer.toString();
}
public static void main(String[] args) {
String password = "PASSWORT";
password = password.trim();
if (password.isEmpty()) {
password = " ";
}
String s5 = "xyz"; // password key
int i1 = 0;
String s6 = "tXx";
s5 = a(s5, ((Serializable) ("GBVTUrWhMGF")));
i1 = (s5.length() * 3) / 4;
i1 = (s5.charAt(i1) + 1) % s5.length();
s5 = (new StringBuilder()).append("").append(a((new StringBuilder()).append("").append(c(s5.substring(0, i1)) * c(s5.substring(0, i1))).toString(), ((Serializable) (s5.substring(i1))))).append(a((new StringBuilder()).append("").append(c(s5.substring(i1)) * c(s5.substring(i1))).append(0x52a6ab61).toString(), ((Serializable) (s5.substring(0, i1))))).toString();
i1 = Math.abs((c(s5) ^ s5.length()) % s5.length());
i1 = (s5.charAt(i1) + 19) % s5.length();
if(i1 == 0)
i1 = s5.length() / 2;
s5 = (new StringBuilder()).append(a(s5.substring(i1), ((Serializable) ("NJ")))).append(s5.substring(0, i1)).toString();
if(i1 % 7 != 5)
s6 = "jlK";
s5 = (new StringBuilder()).append(s6).append(s5).toString();
int hash = ah(a(password, s5));
System.out.println(hash);
}
}
|
Benutzer, die sich für diesen Beitrag bedankt haben: