1

Ich baue Android App, die für genau einen Benutzer pro Installation vorgesehen ist. Anwendung muss Benutzername und Kennwort speichern.Android verschlüsseln Eingabe bearbeiten

Nach der Validierung werden der eingegebene Benutzername und das Passwort in gemeinsamen Einstellungen gespeichert und beide müssen bei jedem Start der App eingegeben werden.

Feld Benutzername: android:inputType="textCapSentences"

Feld Kennwort: android:inputType="textPassword"

Meine Frage ist: Was ist die am wenigsten schmerzhafte Art und Weise ist es, beide Werte zum Verschlüsseln/Entschlüsseln.

Verschlüsselungsprozess muss nicht erstklassig sein, da die Anwendung für Schulprojekt ist.

+0

Ich würde eine MD5 oder sha Einweg-Hash verwenden. – RamithDR

Antwort

3

Es ist nicht notwendig, die Eingaben zu verschlüsseln/entschlüsseln.

Um sie unlesbar zu machen, müssen Sie nur eine gute Eins-zu-eins-Hash-Function verwenden.

Lassen Sie uns sagen, dass Ihre Hash-Funktion ist 'h':

Ihre Werte zu speichern:

// Pseudo 
SharedPrefs.put(USERNAME, h(input_username)); 

Ihre Werte zu überprüfen:

// Pseudo 
SharedPrefs.get(USERNAME).equals(h(input_username)); 
+1

@Jurza Schreiben Sie niemals Ihre eigene Hash-Funktion. Verwenden Sie SHA256 usw. –

1

niemals nie Passwörter verschlüsseln, verwenden Hashes

können Sie dies versuchen: Hash String via SHA-256 in Java

Speichern Sie die Passwort-Hash auf Ihre Datenbank, wenn der Benutzer anmeldet, hash die Eingabe, wenn der Hash auf Ihrer Datenbank mit dem Eingang Hash gleich ist, dann wissen Sie, dass der Benutzer das richtige Passwort

+0

Können Sie erklären, warum die Passwortbeschreibung kein Weg ist? – Jurza

+0

Wenn Sie Verschlüsselung verwenden, kann jeder Ihre App dekompilieren, Ihr Passwort sehen und Ihr Benutzerpasswort entschlüsseln. Wenn Sie ein gutes Hashing verwenden, ist es fast unmöglich, das Passwort in nur einem Leben zu erhalten mit einem super pc –

Verwandte Themen