Zum Inhalt springen

Datenbanken und String-Verschlüsselung


Empfohlene Beiträge

Geschrieben

Hi!

Ich habe 2 Fragen an euch, auf die ich für mein erstes grösseres Projekt in der Arbeit unbedingt eine Antwort brauche.

1. Womit kann ich am besten Daten die ich aus einer Datenbank ausgelesen habe anzeigen, wenn ich vor der Abfrage nicht weiss wieviele Datensätze ich zurückgeliefert bekomme, ich müsste ja ewig viele Textfelder kreieren, nur um die Eventualität auszuschliessen, dass ich nicht alle Daten anzeigen kann.

2.. Gibt es eine Möglichkeit, Strings zu verschlüsseln? Es muss nichts aufwendiges sein, ich möchte nur ein paar Kennwörter in einer Datei speichern, und es wäre nicht sehr QM konform, wenn man die Datei einfach öffnen könnte und sich die anschauen kann.

Habt ihr eventuell ein Beispiel für mich?

Vielen Dank

BMAS

Geschrieben

Also zu 1. würde ich dir raten alle Daten in eine Tabelle zu schreiben. Denn Tabellen werden "dynamisch" erstellt. Das heißt, das sie fast unendlich lang werden können.(wenn das dein Speicher zulässt)

Peeter

Geschrieben
Original geschrieben von BMAS

1. Womit kann ich am besten Daten die ich aus einer Datenbank ausgelesen habe anzeigen, wenn ich vor der Abfrage nicht weiss wieviele Datensätze ich zurückgeliefert bekomme, ich müsste ja ewig viele Textfelder kreieren, nur um die Eventualität auszuschliessen, dass ich nicht alle Daten anzeigen kann.

JTable auf einer JScrollpane

Original geschrieben von BMAS

2.. Gibt es eine Möglichkeit, Strings zu verschlüsseln? Es muss nichts aufwendiges sein, ich möchte nur ein paar Kennwörter in einer Datei speichern, und es wäre nicht sehr QM konform, wenn man die Datei einfach öffnen könnte und sich die anschauen kann.

Habt ihr eventuell ein Beispiel für mich?

String pwd = "pass";

java.security.MessageDigest digest = java.security.MessageDigest.getInstance("MD5");

digest.update(pwd.getBytes());

byte[] md5hash = digest.digest();

Bei MD5 kann man aber die Verschlüsselung nicht rückgängig machen, sondern nur die verschlüsselten byte[] vergleichen.

Ansonsten suche mal bei google nach java + jce

Gruß Jaraz

Geschrieben

Neija es werden ca. 16000 Datensätze, à 13 Feldern von noch unbestimmter Grösse, ich denke da reicht der Speicher schon aus.

Ich habe gerade in der API nachgeschaut, meinst du JTable?

Geschrieben
Original geschrieben von Daragon

Zu 2:

Notfalls kannst du noch von Hand eine

erstellen. Die einfachste ist die Caeser

Verschlüsselung. Du zählst einfach alle

Buchstaben einen Hoch. Den kannst du

dann auch ein wenig Variieren zB den ersten

5zeichen hoch, den zweiten dann 3runter usw.

Da es nun wirklich nicht schwer ist Java zu decompilen, würde ich davon abraten. Wenn es nur darum geht die Passwörter irgendwie "zu verunstalten", kannst du es natürlich so machen.

Gruß Jaraz

Geschrieben

Nein, ich habe mir das Projekt nochmal ein wenig durch den Kopf gehen lassen, ich glaube ich werde das anders machen, es kein Kennwort in dem Sinne geben, es wird nur abgeglichen wer an der Domäne angemeldet ist und welche Rechte er hat (dann müssen sich die Benutzer kein weiteres Kennwort merken *g*). Also werde ich in das File nur reinschreiben:

[Admin]

Benutzer1

Benutzer2

[superuser]

Benutzer4

Benutzer7

Benutzer8

[user]

Benutzer3

Benutzer5

Benutzer6

Benutzer9

etc.

Wie sollte ich sowas am besten verschlüsseln?

PS: Ich muss es dann natürlich auch wieder entschlüsseln können, um die Benutzernamen abgleichen zu können.

Geschrieben
Original geschrieben von BMAS

PS: Ich muss es dann natürlich auch wieder entschlüsseln können, um die Benutzernamen abgleichen zu können.

Wenn ich das richtig verstanden habe, brauchst Du das nicht wieder zu entschlüsseln. Du läßt das MD5 über den Benutzer laufen und vergleichst dann das "verschlüsselte" Ergebnis mit den "verschlüsselten" Einträgen der Datei.

Korrigiert mich, falls ich da falsch liege.

Sillium

Geschrieben

@Jaraz

Wäre auch eine Idee, so blöd es klingt, aber darüber habe ich noch gar nicht nachgedacht...

@sillium

Hmm, klingt logisch...

Gibt es irgendwo ein Tutorial für das MD5?

Geschrieben

Hallo,

ist doch gut, wenn man keinen Code-Schnipsel den man irgendwann mal gemacht hat wegschmeißt... :marine


class md5 {

	public static void main(String[] args) {

		try {

		String plainPassword = "pillepalle";


		java.security.MessageDigest md = java.security.MessageDigest.getInstance("MD5");

		md.update(plainPassword.getBytes());

		String h = new String (md.digest());

		System.out.println(h);

		} catch (java.security.NoSuchAlgorithmException nsae) {

			// any exception will be handled here

		}

	}	

}

Entschlüsseln geht übrigens nicht.

Du kannst nur das eingegeben Passwort ebenfalls verschlüsseln und dann mit dem gespeicherten vergleichen.

Gruß Jaraz

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...