tutorials.de Buch-Aktion 05/2012
ERLEDIGT
NEIN
ANTWORTEN
4
ZUGRIFFE
188
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    tommey tommey ist offline Mitglied
    Registriert seit
    Aug 2011
    Beiträge
    18
    Hi, ich bastel an einem Programm, welches sich auf einer Website einloggt und Daten
    ausliest. Soweit, so gut.
    Das Programm soll eine Option zum merken der LoginDaten bekommen, so ähnlich wie
    es die Browser machen.

    Wie stelle ich so etwas an? Meine Idee war jetzt, an den Benutzernamen sowie das Passwort ein Wort bestimmter Länge anzuhängen und dann zu verschlüsseln und in einer Datei zu speichern. Als Schlüssel hatte ich an so etwas wie Benutzername aus Windows + MAC-Adresse gedacht.
    Mein eigentliches Problem ist, dass ich von den ganzen Algorithmen die es gibt, noch kein vernünftiges Tutorial gefunden hab, nach dem ich das anstellen kann.
     

  2. #2
    SE Tutorials.de Gastzugang
    Hmm ... warum willst du es denn unbedingt "unkenntlich" machen ? *Der Ausdruck "verschlüsseln" ist hier wohl etwas weit ausgeholt.*
    Es würde reichen wenn du sie plain in eine Properties-Datei schreiben würdest. Außerdem ist die Verwendung der MAC und des User-Namens eine sehr inkonsistente Sache. Man sollte hier erstmal genau festlegen WIE das ganze "berechnet" werden soll. Es kann z.B. vorkommen das wenn du einfach mal EINE MAC auslesen willst plötzlich eine andere zurückkommt weil sich in der Liste etwas verändert hat. Daher sollte man , wenn man schon mit der MAC arbeitet , immer über ALLE NIC's gehen und sich überlegen wie man die einzelnen MAC's zusammen "rechnet". Das einfachste wäre wohl alle via XOR zusammenzufügen. Allerdings musst du auch drauf achten das du nur NIC's mit einer echten MAC verarbeitest. Unter Windows kann es leicht mal vorkommen das du entweder eine NPE bekommst oder die MAC aus irgendeinemen Grund länger ist. Daher sollte man diese ausfiltern.
    Auch der User-Name ist keine gute Wahl da du vorher immer prüfen müsstest ob er eine gewisse Länge hat mit der du arbeiten willst. Es ist z.B. möglich einen User anzulegen dessen Namen nur aus einem Zeichen besteht. Wenn du jetzt komplizierte "Unkenntlichmachung" anwendest und dich dabei darauf verlässt das der User-Name immer mindestens x Zeichen lang ist kann dir sowas schnell zum Verhängnis werden.

    So viel erstmal zum unnötige Unkenntlich machen. Wie gesagt : es reicht wenn du die Daten PLAIN speicherst.

    Wie machst du das nun :
    Du baust den ActionListener einfach soweit um das er beim Klick auf z.B. EINLOGGEN die Informationen aus der Eingabemaske vorher noch in ein Property-File schreibt bevor er die eigentliche HTTP-Arbeit verrichtet. Das sind vielleicht 5 Zeilen Code *wenn überhaupt*.
    Beim erneuten Starten deiner Anwendung liest du dieses Property-File einfach wieder ein und füllst damit die Eingabemaske.
     

  3. #3
    tommey tommey ist offline Mitglied
    Registriert seit
    Aug 2011
    Beiträge
    18
    Super Danke schön eine echt hilfreiche Antwort, property File hab ich noch nicht gehört, aber da lese ich mich rein Wenn ich dann noch fragen habe, melde ich mich nochmal.
    Noch eine andere Frage, wie speichern denn die Browser die Benutzername/PW? Auch mit diesem PropertyFile?

    Nochmal danke schön, super Forum
     

  4. #4
    SE Tutorials.de Gastzugang
    Entweder in einer Config-Datei *ein Property-File ist eine Config-Datei ... nur eben speziell auf Java-Properties bezogen* oder unter Windows in der Registry *ist in dem Sinne ein riesiges Config-File fürs gesamte System*. Natürlich hast du recht das qualitativ hochwertige Programm diese Daten nicht PLAIN , also Klartext , speichern sondern diese unkenntlich machen. Aber ich denke um dir die Grundlagen dafür anzueignen sollte es ausreichen erstmal die Daten im Klartext zu speichern. Später kannst du vor dem Speichern noch eine Methode bauen die halt die PLAIN-Daten unkenntlich macht *CIPHER* , aber das ist ein anderes Thema.
     

  5. #5
    Avatar von mccae
    mccae mccae ist offline Senfdazugeber
    Registriert seit
    Dec 2007
    Ort
    Wien
    Beiträge
    226
    Huhu,

    Solange niemand Zugriff auf deinen Rechner hat, kannst du solche Zugangsdaten auch als Klartext, wie von SPiKEe erwähnt, abspeichern.

    Wenn man nur unter Windows arbeitet, bietet Windows die Möglichkeit eines "protected" storage.
    Das Ganze funktioniert so ähnlich wie die Keychain Geschichte unter Mac OSX.

    Windows ermöglicht es dir sensible Daten abzuspeichern - diese werden an dein Benutzerkonto gebunden.
    Man kann also auf diese Daten nur zugreifen, wenn man mit dem korrekten Benutzernamen sowie dem korrekten Passwort in Windows eingloggt ist.

    Java selbst bietet keinen direkten Support dafür, jedoch kann man mit JNI eine C++ DLL schreiben, welche all dies abwickelt.

    Stichwort:
    Funktion "CryptProtectData"

    Siehe auch: http://msdn.microsoft.com/en-us/library/ms995355.aspx

    Das ganze lässt sich, soweit ich weiß auch auf Domänen-User anwenden und wird in ähnlicher Weise auch gern in verschiedensten Anwendungen benutzt.

    Auch Microsoft Office Outlook benutzt diese Methode um Emailpasswörter verschlüsselt abzulegen.

    Der Einzige Nachteil ist jedoch, dass das Auslesen auch durch Schadprogramme möglich ist, sofern der Benutzer angemeldet ist.
     

Ähnliche Themen

  1. Wie soll ich das anstellen?
    Von aargau im Forum PHP
    Antworten: 6
    Letzter Beitrag: 21.01.07, 13:45
  2. Musik auf Homepage per Button aus- und anstellen
    Von citydax im Forum Javascript & Ajax
    Antworten: 3
    Letzter Beitrag: 07.09.05, 16:14
  3. Gateway Abstellen und Anstellen
    Von MajorWindbeutel im Forum Netzwerke
    Antworten: 1
    Letzter Beitrag: 05.03.04, 07:33
  4. Antworten: 6
    Letzter Beitrag: 20.01.04, 11:09
  5. Wie anstellen?
    Von Marco im Forum Photoshop
    Antworten: 17
    Letzter Beitrag: 28.05.02, 17:19