Moin
Ich soll mit AES einen Text verschlüsseln. Dazu verwende ich einen 128bit Key. Dieser soll aus einem String (dem Passwort des Users) beliebiger Länge erzeugt werden.
Existiert dazu ein gängiger Algorithmus?
Beim Googeln hab ich folgendes gefunden:
1 // create a 16 byte key from passcode
2 byte[] kb = new byte[16];
3 for (int i = 0; i < kb.length; i++)
4 kb[i] = (byte) (i + 20);
5 byte[] pb = passcode.getBytes();
6 for (int ki = 0, pi = 0; pi < pb.length; pi++) {
7 kb[ki] += pb[pi];
8 ki = (ki + 1) % 16;
9 }
Ich verstehe auch, wie das Ding funktioniert. Was mir nicht klar ist, weshalb in Zeile 4 jedes Feld in kb mit (i + 20) initialisiert wird. Warum gerade 20?
Danke, sp7