Hilfe

CosmoKey

Mitglied
Kann mir vielleicht jemand damit helfen:
Code:
    static String f(String s1)
    {
        int k1 = 0;
        for(int i1 = 0; i1 < s1.length(); i1++)
        {
            k1 += s1.charAt(i1);
            if(i1 % 2 == 0)
                k1 = (k1 << 2) + i1 * i1 + i1 + (i1 + 1) * i1;
            else
                k1 = (k1 >> 2) + i1 * i1 * i1 + i1 + i1 * i1;
        }

        byte abyte0[] = String.valueOf(Math.abs(k1)).getBytes();
        byte abyte1[] = new byte[abyte0.length * 2];
        for(int j1 = 0; j1 < abyte0.length; j1++)
        {
            abyte1[j1 * 2] = abyte0[j1];
            char ac1[] = new char[1];
            ac1[0] = (char)abyte0[abyte0.length - j1 - 1];
            abyte1[j1 * 2 + 1] = (byte)(char)Integer.parseInt("7" + new String(ac1));
        }

        String s2 = new String(abyte1);
        return s2;
    }

ich bräuchte die umkehrfunktione von dieser hier! also, dass ich dann "s2" eingebe und "s1" erhalte!
 
Zuletzt bearbeitet von einem Moderator:
Sieht mir nach einem Verschlüsselungsalgorithmus ohne Schlüssel aus.
Bei gleicher Eingabe erhält man immer das gleiche Ergebnis.
Wenn es das ist was ich denke gibt es keine Möglichkeit aus S2 den Ursprungsstring S1 zu ermitteln, und genau das ist der Zweck von solchen Algorithmen.

Dieses Verfahren wird z.B. bei Passwortdateien auf UNIX-Systemen angewandt.

Um genau zu sein gibt es doch eine Möglichkeit:
Jede Kombination durchprobieren, also verschlüsseln und vergleichen ;)
 
Zurück