Passwörter sicher speichern

damianek2

Mitglied
Hallo Leute,

für mein kleines Projekt, brauche ich eine Login-Möglichkeit (mit Account-Erstellung, Usernamen und Passwörtern). Es funktioniert alles soweit wie ich es benötige, nun aber stellt sich eine Frage wie ich am besten die Passwörter sichern soll.
Ich hatte bereits einen funktionierenden Encrypter sowie Decrypter, jedoch ist es ja recht unsicher.
Mit der Hash-Methode kenn ich mich nicht wirklich aus und daher auch mein Thread hier. Kann mir jemand helfen, vielleicht ein paar Quellen oder sonstiges angeben wo ich es mir genau anschauen kann, wie und warum ich was machen soll, da ich komplett planlos bin, wo ich eben anfangen soll, was die Hash-Methode angeht? Was macht diese, was brauche ich dafür bzw. was hab ich dann am Ende; eine Datei mit einem Hash-Code oder sowas?:oops:
Ein paar Schlagwörter o.ä. wären nicht schlecht.

Danke schon mal für die Antworten.
 
Zuletzt bearbeitet:

turtle

Top Contributor
Passwörter sichern soll
Das kommt SEHR darauf an, was du darunter verstehst;)

Ein Password ist immer nur so sicher, wie es der Benutzer macht:D

Also, wenn ich, IMMER das Passwort "123345" wähle, ist das natürlich per se unsicher, weil es mit einem Programm innerhalb von Sekunden geknackt werden kann. Hier ist Vertrauen in den Dienstleister erforderlich, weil ein Benutzer nicht weiss, ob das Passwort im Klartext oder mit einem gesalzenen Hash abgespeichert wird. Und wenn ein Dieb Zugriff auf die DB bekommt,...

Die übliche Vorgehensweise ist, NICHT "12345" zu speichern, sondern aus dem Text einen Hashwert zu errechnen:
Beispiel sha-512("12345")="3627909a29c31381a071ec27f7c9ca97726182aed29a7ddd2e54353322cfb30abb9e3a6df2ac2c20fe23436311d678564d0c8d305930575f60e2d3d048184d79"
Eine Hashfunktion garantiert, das zu jedem Text ein Hashwert fester Länge berechnet wird, der NICHT zurückgerechnet werden kann. Also ist es nicht möglich aus dem Hash wieder das Passwort zu bekommen.
Dieses wird üblicherweise mit einem Salt kombiniert, damit nicht jedes Passwort auf denselben Hash abgebildet wird.

Wenn also der Benutzer nach seinem Passwort gefragt wird, errechnet der Rechner wieder den Hash und vergleicht ihn mit dem abgespeicherten und lässt den Benutzer nur rein, wenn beide übereinstimmen.

Bleibt noch als Risiko der Passwort-Übertragung an das Programm. Dieses sollte nach Möglichkeit NICHT im Klartext übertragen werden, da abfangbar. Hier gibt es verschiedene Möglichkeiten und SSL ist wohl am Gebräuchlichsten.

Du siehst, dass es hier viele Facetten gibt, die du beachten solltest. Aber wichtig ist immer, das du KEINE Passwörter im Klartext speicherst.

Hier mal mein Encoder, der MD5-Hashes (ohne Salt) generiert, wobei MD5 nicht mehr benutzt werden sollte. Wobei das Passwort von alice oder bob schon gesalzen sind, weil der Benutzername davor genommen wird.

Java:
public class Encoder {
	private static Logger logger = Logger.getLogger(Encoder.class);

	public static String encrypt(String plaintext, String algorithm) {
		MessageDigest md = null;

		try {
			md = MessageDigest.getInstance(algorithm);
			md.update(plaintext.getBytes("UTF-8"));
		} catch (UnsupportedEncodingException e) {
			logger.warn(e);
			return null;
		} catch (NoSuchAlgorithmException e) {
			logger.warn(e);
			return null;
		}
		String x = new BigInteger(1, md.digest()).toString(16);
		return x;
	}

	public static void main(String[] args) {
		System.out.println("admin:" + Encoder.encrypt("admin", "MD5"));
		System.out.println("alice:" + Encoder.encrypt("alicealice", "MD5"));
		System.out.println("bob:" + Encoder.encrypt("bobbob", "MD5"));
	}
}
 
Zuletzt bearbeitet:
Ähnliche Java Themen
  Titel Forum Antworten Datum
C Passwörter möglichst sicher in Datenbank speichern Java Basics - Anfänger-Themen 18
M Passwörter vergleichen funktioniert nicht Java Basics - Anfänger-Themen 3
Da_Tebe Passwörter verstecken Java Basics - Anfänger-Themen 6
Helgon Wo Passwörter speichern Java Basics - Anfänger-Themen 17
C Passwörter & Java Java Basics - Anfänger-Themen 5
L Zeichenlänge bei Passwörter? getText() ersetzen durch? Java Basics - Anfänger-Themen 2
S Code richtig / besser machbar? (Nicht sicher, ob Code selbst falsch ist) Java Basics - Anfänger-Themen 4
F Thread der auf eine Queue wartet, sicher beenden Java Basics - Anfänger-Themen 4
M Wie sicher sind Daten im Java Programm? Java Basics - Anfänger-Themen 9
M Warum ist Maven als Technologie eigentlich so sicher? Java Basics - Anfänger-Themen 0
T String simpel aber sicher verschlüsseln Java Basics - Anfänger-Themen 5
L Erste Schritte Datenbank Zugangsdaten sicher? Java Basics - Anfänger-Themen 15
T Die Zukunft von Java Applets sicher? Java Basics - Anfänger-Themen 15
D Status sicher - JCheckbox Java Basics - Anfänger-Themen 4
A Klassen ArrayList richtig / sicher Casten? Java Basics - Anfänger-Themen 3
V Java Jar sicher ? Java Basics - Anfänger-Themen 66
J ListModel dynamisch und schnell aber sicher ändern Java Basics - Anfänger-Themen 7
M Serialisieren beim Schließen des Progs sicher beenden Java Basics - Anfänger-Themen 4
M Länge eines Arrays als Variable speichern möglich? Java Basics - Anfänger-Themen 14
R Liste in Variable speichern Java Basics - Anfänger-Themen 6
onlyxlia Anzahl Random Zahlen mit Scanner abfragen und in Array speichern Java Basics - Anfänger-Themen 10
G JTree speichern und wieder einlesen Java Basics - Anfänger-Themen 5
P Wie kann ich in meinem Java Programm etwas dauerhaft speichern? Java Basics - Anfänger-Themen 5
P Wie kann ich beispielsweise Speicherstände eines Spiels DAUERHAFT in meinem Programm speichern? Java Basics - Anfänger-Themen 3
J Objekte in JSON speichern?? Java Basics - Anfänger-Themen 1
A Daten aus einer HashMap aus einer DB speichern und mit neuen Werten vergleichen Java Basics - Anfänger-Themen 8
I Bild richtig speichern / Hochkant im File Explorer, nach Upload vertikal Java Basics - Anfänger-Themen 9
I Objekte in ShareProject speichern um später zu nutzen Java Basics - Anfänger-Themen 4
I Passwort in Datenbank speichern um später wieder auszulesen Java Basics - Anfänger-Themen 5
S mehrere TreeSets so speichern, dass man sie miteinander vergleichen kann Java Basics - Anfänger-Themen 1
I Datei (Bild) Drucken und wie Druckeinstellung speichern? Java Basics - Anfänger-Themen 3
I H2 Datenbank starten / Daten in File speichern Java Basics - Anfänger-Themen 25
M Werte in Felder speichern und geordnet ausgeben Java Basics - Anfänger-Themen 8
A CSv.Datei einlesen und die werte in zweidemosional Int Array speichern Java Basics - Anfänger-Themen 9
L Dauerhaftes Speichern einer Eingabe bei einer ArrayList Java Basics - Anfänger-Themen 26
S Eine Variable in einem Array speichern Java Basics - Anfänger-Themen 5
T Permanentes speichern von Objekten in einer ArrayList Java Basics - Anfänger-Themen 6
M Mehrere Daten/ Variablen Speichern Java Basics - Anfänger-Themen 9
berserkerdq2 Ich gebe eine ArrayList als List zurück per MEthode, wie kann ich nun aber die ArrayList speichern? Java Basics - Anfänger-Themen 46
I Historisierung - Alter Wert, Neuer Wert... wie speichern? Java Basics - Anfänger-Themen 44
berserkerdq2 Wie datum im default format speichern? Java Basics - Anfänger-Themen 5
M Objekt in einem Objekt speichern Java Basics - Anfänger-Themen 9
J Speichern von zwei Variablen durch Auslesen aus einem Numberfield Java Basics - Anfänger-Themen 2
f3mys Objektwerte in Liste speichern und wieder abrufen Java Basics - Anfänger-Themen 23
I Liste von Infos von einer eigenen Annotation in Liste speichern Java Basics - Anfänger-Themen 0
U Wie ein Attribut von einer Klassenmethode in der Klasse speichern= Java Basics - Anfänger-Themen 2
B Screenshots machen und zwar viele und speichern Java Basics - Anfänger-Themen 12
C XML Datei speichern und laden Java Basics - Anfänger-Themen 18
Marlena Bauer Konsolenausgabe in .txt speichern Java Basics - Anfänger-Themen 6
B JaxB - Property vom Typ Object und LocalDateTime speichern? Java Basics - Anfänger-Themen 0
ansystin Teilerfremde Zahlen ausgeben + Zahlenausgabe speichern Java Basics - Anfänger-Themen 3
J Wert in einer json Datei ändern und speichern Java Basics - Anfänger-Themen 3
C File speichern Java Basics - Anfänger-Themen 5
D String und char in String speichern Java Basics - Anfänger-Themen 5
J Alle .java Dateien von einem Verzeichnis in eine Zip speichern Java Basics - Anfänger-Themen 2
I Werte (u.a. Geldbeträge) in Datenbank speichern und Rundungen? Java Basics - Anfänger-Themen 8
J Problem mit einer Methode, die beliebig viele Objekte in Array speichern soll Java Basics - Anfänger-Themen 6
H Daten aus einer Datei in eine Liste speichern Java Basics - Anfänger-Themen 23
B JaxB - speichern vom Typ "Object" Java Basics - Anfänger-Themen 8
GermanPie Nachrichten Speichern Java Basics - Anfänger-Themen 2
M Objekte in Array speichern und ausgeben Java Basics - Anfänger-Themen 17
C Wo Defaultpfad speichern? Java Basics - Anfänger-Themen 2
M Integer aus aus einer Klasse in andere speichern Java Basics - Anfänger-Themen 12
Dimax stream in string[] speichern Java Basics - Anfänger-Themen 6
H Liste speichern. Was lässt sich verbessern? Java Basics - Anfänger-Themen 7
C Fehler beim Speichern (Build projekt) Java Basics - Anfänger-Themen 42
J Ich brauche Hilfe bei einem Code (Variablen speichern) Java Basics - Anfänger-Themen 29
C Verschiedene Objekte in einer Liste speichern Java Basics - Anfänger-Themen 6
D Input/Output Input von zwei Koordinaten validieren und anschließend Werte speichern Java Basics - Anfänger-Themen 7
N Speichern von Werten in Variablen nach Schließen des Programms Java Basics - Anfänger-Themen 3
G Problem beim Speichern von Objekten in einer Datei Java Basics - Anfänger-Themen 7
I ArrayList - Methode zum Speichern eines Eintrags in einer Datei Java Basics - Anfänger-Themen 17
H Objekt im Array speichern Java Basics - Anfänger-Themen 2
H Objekt als Attribut speichern Java Basics - Anfänger-Themen 11
B Text-Datei nur in Stream speichern und dann ausgeben Java Basics - Anfänger-Themen 3
M JTextField in ArrayList speichern Java Basics - Anfänger-Themen 4
L Nur Bestimmte Werte aus einem Array in ein anderes Speichern Java Basics - Anfänger-Themen 11
S Zweidimensionales Array in ein eindimensionales Array speichern Java Basics - Anfänger-Themen 6
A Wie zwei zahlen in einer Variable speichern? Java Basics - Anfänger-Themen 7
C ResultSet in Array speichern Java Basics - Anfänger-Themen 5
S Byte-Array kann chars speichern? Java Basics - Anfänger-Themen 3
J Kann man files in einer Klasse speichern. Java Basics - Anfänger-Themen 2
B Infos zu Attribute in einer Klasse speichern Java Basics - Anfänger-Themen 3
M Input/Output JTextField Eingabe in String Variable speichern Java Basics - Anfänger-Themen 15
A Kann man eine Methode als Variable speichern und danach noch verändern? Java Basics - Anfänger-Themen 6
D Werte aus einem BinärBaum in einem Array speichern Java Basics - Anfänger-Themen 1
I Datei in Programm speichern Java Basics - Anfänger-Themen 3
A .txt-Datei mit Java speichern Java Basics - Anfänger-Themen 2
M Speichern unter. Java Basics - Anfänger-Themen 11
S Java Daten in Excel speichern Java Basics - Anfänger-Themen 1
S Daten speichern, ohne Datenbank Java Basics - Anfänger-Themen 8
L Objekt aus Textdatei in ArrayList speichern Java Basics - Anfänger-Themen 4
L Kommandozeileneinträge in Array speichern Java Basics - Anfänger-Themen 4
B HTML Code in XML speichern Java Basics - Anfänger-Themen 3
G Benutzereingaben durch Zeilenumbruch trennen und in Array individueller Größe speichern Java Basics - Anfänger-Themen 20
G JTextField per Button speichern und an andere Klasse übergeben Java Basics - Anfänger-Themen 2
Shallty Daten speichern und ändern? Java Basics - Anfänger-Themen 32
R Objekte aus Array als String + kommasepariert speichern Java Basics - Anfänger-Themen 12
N Best Practice Rückgabe eines Terminal Befehls in eine Variable speichern Java Basics - Anfänger-Themen 27
B XML in DB speichern -> Regelkonzept Java Basics - Anfänger-Themen 2

Ähnliche Java Themen

Neue Themen


Oben