pasGen - Update

    • Release
    • Open Source

    Es gibt 124 Antworten in diesem Thema. Der letzte Beitrag () ist von MichaHo.

      pasGen - Update

      Name:
      pasGen

      Beschreibung:
      Passwort Generator mit Passwort Strength Anzeige, WPA/WPA2 Generierung, Zeichen Auswahl, Verwendung eigener Zeichenvorgabe, Speichern generierter Kennwörter (PW, Datum, optional Info)


      Screenshot(s):


      Verwendete Programmiersprache(n) und IDE(s):
      Visual Basic .NET (IDE VB 2013 Pro)

      Systemanforderungen:
      .NET Framework 4.0

      Systemveränderungen:
      legt eine XML Datei unter AppData\Roaming an (zur speicherung der genrierten Passwörter, gespeichert wird nur Datum/Uhrzeit und das Passwort, optional kann eine Info zu einem PW hinterlegt werden)

      Download(s):
      aktuellste Version immer über meine Homepage

      Lizenz/Weitergabe:
      Freeware - Ihr dürft das Programm gerne Weitergeben oder auf Eurer Website anbieten, Bitte einen Hinweis auf meinen Namen setzen. Es darf nicht verkauft werden, sondern muss als Freeware weiter gegeben werden.

      Update:
      - Bugfixes behoben (Danke @MircoTuor)

      Update 09.10.15:
      - Passwörter werden nun verschlüßelt in die XML geschrieben
      - Hinweis bevor ein Datensatz gelöscht wird hinzugefügt

      Update 15.10.15:
      - Info Box hinzugefügt

      Update 30.10.15:
      - Login Form hinzugefügt, MasterPassword Pflicht
      - pasGen ist nun Portabel (Datenbank wird dort abgelegt, wo die Anwendung gespeichert ist, es sei denn, es ist der Programme Ordner, dann wird die Datenbank in AppData gespeichert)
      - Code optimiert, Klassen angelegt
      - Setup erstellt

      Update 30.10.15 - 11:46
      - Fenster für Angabe einer Password Info hinzugefügt (Accept Button)
      - bei Auswahl eines Passwords aus der Liste wird dieses direkt in die Zwischenablage kopiert
      - Bug behoben das Info nicht gespeichert wurde wenn sie nachträglich geändert wird
      - kleiner Bug behoben
      Ihr braucht diesmal nur die .exe auszutauschen, die DB kann bestehen bleiben. Wer es dennoch über das Setup installieren will, sollte vorher die alte Version deinstallieren. Die DB wird bei Deinstallation NICHT gelöscht, sollte daher dan Neuinstallation wieder zu öffnen sein

      Update 04.11.15
      - pasGen bleibt nach dem schließen nun im Hintergrund laufen, Anwendung wird in den SystemTray minimiert und bei Bedarf wieder hervor geholt. (Kontextmenü mit anzeigen (Show) und Beenden (Quit)
      - Hinweis beim Start falls pasGen schon gestartet ist
      - das Kopieren der Passwörter aus der Datenbank in die Zwischenablage wird nun über einen Button im View gelöst
      Ihr braucht auch diesmal nur die .exe auszutauschen, die DB kann bestehen bleiben. Wer es dennoch über das Setup installieren will, sollte vorher die alte Version deinstallieren. Die DB wird bei Deinstallation NICHT gelöscht, sollte daher nach Neuinstallation wieder zu öffnen sein

      Update 05.11.15
      pasGen ist nun mehrsprachig. Die Standardsprache ist Englisch. Bei Betriebssystemen mit deutscher Umgebung, wird pasGen
      in Deutsch gestartet, bei allen anderen Betriebssystemsprachen wird pasGen in Englisch gestartet.
      Vielen Dank an dieser Stelle für die hilfreichen Tips von @RodFromGermany
      Diesmal müsste pasGen neu installiert oder entpackt werden, da ansonsten die Sprachdatei fehlt und pasGen in Englisch starten würde.
      Also einfach das Setup(siehe Anhang) nutzen (die alte Version bitte vorher deinstallieren) oder das Zip entpacken. Die Datenbank wird NICHT gelöscht und kann daher weiter verwendet werden.

      Update 05.11.15 - 13:20
      - Meldung bei erneutem Starten von pasGen entfernt
      - pasGen kann nun nur einmal laufen, es wird entweder die Anwendung gestartet, oder die bereits gestartete aus dem SystemTray geholt
      Ihr braucht eigenlich nur die .exe auszutauschen, aber ich lade dennoch alles komplett hoch.

      Update 07.11.15
      - die Sprache kann nun Umgeschaltet werden (Rechtsklick aufs TrayIcon)
      - das Speichern der Sprache und ein temporäres Kennwort werden in den Settings gespeichert (verschlüsselt)
      beim Start wird geprüft ob pasGen lokal installiert ist (= user Settings) oder auf einem USB Stick läuft (= appSettings)
      das Umschalten der Sprache basiert auf dem Tutorial von @RodFromGermany dies hier
      wer pasGen lokal installiert hatte, sollte es vorher deinstallieren und dann neu installieren. Beim Ersten Start wird weider das Masterpasswort abgefragt, bitte nutzt hier das vorher verwendete Masterpasswort, ansonsten lassen sich die Passwörter in der DB nicht mehr entschlüsseln.
      Ihr könnt auch die DB löschen falls nur TestKennwörter drin waren, dann wird eine neue DB angelegt.
      Auf dem Stick solltet ihr die .exe austauschen UND den de-DE Ordner, da hier noch Anpassungen statt gefunden haben die sonst nicht übersetzt werden würden. Auch hier wird wieder ein neues Masterpassword abgefragt, nutzt auch hier das vorherige um die Passwörter entschlüßeln zu können.

      EDIT: 11:34
      die Messagebox beim Löschen eines Datensatzes ist nun auch in beiden Sprachen...

      Update 04.12.15
      - ich habe pasGen und die portable Version getrennt. Weiterentwickelt wird nur die Installationsversion (nicht portable)
      - es gibt nun eine eigene Settings Form, hier kann eingestellt werden: die Sprache, Standard Passwort Länge, Standard Sonderzeichen, Automatisches Ausblenden
      - das KontextMenü im System Tray besteht nur noch aus About und Beenden
      - pasGen kann nun automatisch bei Nichtbenutzung in den SystemTray verschwinden. (Einstellung dazu in den Einstellungen) Möglich sind 5 bis 30 Minuten
      - Kennwörter werden nun nicht mehr in der Chronik angezeigt, auch nicht die verschlüsselten. Das Kennwort kann aber wie gewohnt über den Button in der Chronik kopiert werden.
      - ist pasGen ausgeblendet muss beim Einbelnden das Master Passwort eingegeben werden, genauso beim erneuten Starten von pasGen (dies holt nur das laufende Programm aus dem Tray)
      - pasGen_portable enthält alle Updates bis zum Stand 07.11.15

      Update 08.12.15

      - Passwörter können nun aus der Chronik entweder direkt kopiert (über Button) oder angezeigt werden (siehe Screenshot) beim Anzeigen wird das Masterpassword abgefragt
      - ich hab nun einen Updater hinzugefügt. Erst hatte ich nUpdate implementiert, aber irgendwie fand der nie ein Update und suchte Stundenlang, dann habe ich hier aus dem Forum das updateSystemDotNet Tutorial gefunden und angewendet. Funktioniert hervorragend.
      - zukünftige Updates dann über den Updater...

      Die aktuellste Version bekommt ihr über meine Homepage

      Update 21.04.2017
      der Updater wurde nun ersetzt durch nUpdate.
      Da mein Homepage Anbieter (Kabel Deutschland) ohne Ankündigung das Hosting eingestellt hat, konnte ich ich leider über das alte Updatesystem nicht mehr das Update zu nUpdate einspielen.
      Nun hab ich ne neue Homepage.
      Dort findet Ihr die aktuelle Version zum Download.
      Bitte die alte Version deinstallieren und dann die neu Version installieren.
      Settings und die Passwort Datenbank bleiben hiervon unberührt.

      Ich hänge hier noch das aktuelle Projekt dran, für die, die selbst kompilieren wollen.
      Zusätzlich hab ich das komplette Projekt nochmal gezippt, dort sind auch die DLLs drinn und eine bereits kompilierte Exe

      Zur Homepage mhoapps.de
      Dateien
      • pasGen.zip

        (2,38 MB, 208 mal heruntergeladen, zuletzt: )
      • pasGenProject.zip

        (2,6 MB, 242 mal heruntergeladen, zuletzt: )
      "Hier könnte Ihre Werbung stehen..."

      Dieser Beitrag wurde bereits 32 mal editiert, zuletzt von „MichaHo“ ()

      Ich habs mir mal nur kurz angesehen. Schön wäre es wenn ich zumindest die Länge des Passwortes mir aussuchen könnte. Noch schöner, wenn ich auch die Zeichen festlegen könnte.
      Diese Funktion z.B. beherrscht beides und ist nur unwesentlich länger (ich garantiere nur für den C# part):
      C#

      C#-Quellcode

      1. public static string CreatePassword(int passwordLength, string AllChar = "ABCDEFGHJKLMNOPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz0123456789!@$?_-[](){}=§$%&/")
      2. {
      3. string allowedChars = AllChar;
      4. char[] chars = new char[passwordLength];
      5. var rd = new Random();
      6. for (int i = 0; i < passwordLength; i++)
      7. {
      8. chars[i] = allowedChars[rd.Next(0, allowedChars.Length)];
      9. }
      10. return new string(chars);
      11. }

      VB.NET

      VB.NET-Quellcode

      1. Public Shared Function CreatePassword(passwordLength As Integer, Optional AllChar As String = "ABCDEFGHJKLMNOPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz0123456789!@$?_-[](){}=§$%&/") As String
      2. Dim allowedChars As String = AllChar
      3. Dim chars As Char() = New Char(passwordLength - 1) {}
      4. Dim rd = New Random()
      5. For i As Integer = 0 To passwordLength - 1
      6. chars(i) = allowedChars(rd.[Next](0, allowedChars.Length))
      7. Next
      8. Return New String(chars)
      9. End Function

      Des Weiteren finde ich diese Select Case Konstrukte unübersichtlich. Gib doch jedem Button sein eigenes Event. Ich finde das haben sie sich verdient wenn sie schon nen eigenen Namen bekommen haben ;)

      Ich habe mir das Programm selbst nicht angesehen, scheint aber allem anschein nach recht hüsch zu sein ^^
      Tolles Programm!
      Das Layout ist schön und mit den Icon's ist alles übersichtlich

      - Toll fände ich noch wenn man die gespeicherten Passwörter löschen könnte...
      - [?] bedeutet doch Hilfe...
      - wenn du den link der Homepage auch gleich verlinken könntest. ;)

      Sonst funktioniert alles :thumbsup:
      Gruss Mirco
      Gruss Mirco
      Hallo,
      @EaranMaleasi: Danke für das Anschauen und den Kommentar: ich hatte zuerst alle Button_Events einzeln, fand das etwas unübersichtlich, daher hab ich das so umgestrickt. (Benutze ich eigentlich immer, hauptsächlich in Menüs wenn es mehrere Menüpunkte gibt)... das mit den Zeichen hatte ich überlegt, aber dann würde das Design technisch etwas doof aussehen. So alla Checkbox für jede Möglichkeit (Groß-,Klein-, Sonderzeichen, Zahlen) Deine Funktion hab ich mir jedenfalls mal gesichert und schaue mal wie ich es einbauen kann, sodass es auch Designtechnisch rein passt.

      @MircoTuor: Danke für das Anschauen und den Kommentar: Das mit dem Löschen hatte ich vorher auch drin, habs dann auch wieder aus design Gründen raus genommen, da ich das DataGridView genauso aussehen haben wollte, wie es ist. ich schaue aber mal ob es noch andere Möglichkeiten gibt den Datensatz zu löschen, ohne das Aussehen zu ändern.
      mir ist kein anderes Zeichen für den Backlink zum Icon Hersteller eingefallen als das ? :) bin aber für Tips offen....
      den Link bekommt man so ohne weiteres nicht in die Messagebox, da müsste ich eine eigene Form bauen... nehm ich mir zu Herzen und implementiere es dann in einem Update :)
      "Hier könnte Ihre Werbung stehen..."

      MichaHo schrieb:

      So alla Checkbox für jede Möglichkeit (Groß-,Klein-, Sonderzeichen, Zahlen)

      MichaHo schrieb:

      sodass es auch Designtechnisch rein passt.

      Nun gut, wenn es lediglich per Checkbox laufen soll, ist meine Funktion kaum anders als deine. Bevor die Passwort-Funktion aufgerufen wird, wird eben geprüft welche Checkboxen auf true stehen, der String mit den gewollten Zeichen entsprechend zusammengesetzt und dann eben der Funktion übergeben, zusammen mit der Länge.

      Edit:
      Ansonsten, wenn du dem User die Möglichkeit bieten willst jedes Zeichen selbst zu definieren, bau nen "Advanced" Bereich ein, den man Optional bedienen kann. Die Funktion bleibt ja die selbe, die Länge kommt direkt aus ner Textbox und die Zeichen ebenfalls. Unverschämt praktisch ist es, dass gleichzeitig mit der direkten Eingabe der Zeichen, der User auch noch die Häufigkeit der eingegebenen Zeichen beinflussen kann. Ganz ohne weiteren Code, so sinnvoll es auch sein Möge ;)

      Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von „EaranMaleasi“ ()

      @EaranMaleasi: wie würdest Du es denn umsetzen? Du meinst doch das der User selbst wählen kann, welche Zeichen das Passwort beinhalten soll (also welche Art meine Ich) oder meinst du was anderes?

      @MircoTuor: ? ist geändert, hab allerdings ein liegendes Zeichen genommen (wie hier oben in der Leiste das Link Zeichen) ich überlege gerade noch den Vorschlag von EaranMaleasi... das mit Delete könnte funktionieren... gucke ich :)
      "Hier könnte Ihre Werbung stehen..."
      zum Code-Design mit dem ButtonClick-Verteiler-Handler:

      Ich benutz das in vb.net auch immer (in c# mach ich anders), und in den Select kommt wirklich nur Obertriviales, und nicht länger als 3-4 Zeilen. Was auch nur ansatzweise komplizierter ist wird in eine Methode ausgelagert - der Verteiler soll ein Verteiler sein, nicht mehr.
      Sähe dann so aus:
      Vorher

      VB.NET-Quellcode

      1. Private Sub btnPressed_Click(sender As Object, e As EventArgs) Handles btnAccept.Click, btnClearPW.Click, btnDown.Click, btnGenerate.Click, btnQuit.Click, btnStoredPW.Click, btnUp.Click, btnAbout.Click
      2. Select Case True
      3. Case sender Is btnAccept
      4. Dim obPass(2) As Object
      5. btnAccept.Enabled = False
      6. obPass(1) = txtPass.Text
      7. obPass(2) = Date.Now
      8. DsPass.StoredPassword.Rows.Add(obPass)
      9. SaveDataSet()
      10. Clipboard.SetText(txtPass.Text)
      11. lblTimer.Interval = 3000
      12. lblPass.Text = "copied to clipboard..."
      13. lblTimer.Start()
      14. Case sender Is btnClearPW
      15. txtPass.Text = ""
      16. btnAccept.Enabled = False
      17. Case sender Is btnDown
      18. _pwLength -= 1
      19. lblPWLength.Text = _pwLength.ToString
      20. btnAccept.Enabled = False
      21. Case sender Is btnGenerate
      22. Dim rndZahl As New Random
      23. Dim strBuilder As New System.Text.StringBuilder("")
      24. Dim charZeichen() As Char = "abcdefghijklmnopqrstuvwxyzäöü012345678!$&-#_+%@€ABCDEFGHIJKLMNOPQRSTUVWXYZÄÖÜ".ToCharArray()
      25. lblTimer.Stop()
      26. For i As Integer = 1 To _pwLength
      27. strBuilder.Append(charZeichen(rndZahl.Next(0, charZeichen.Count - 1)))
      28. Next
      29. txtPass.Text = strBuilder.ToString
      30. btnAccept.Enabled = True
      31. Case sender Is btnQuit
      32. Me.Close()
      33. Case sender Is btnStoredPW
      34. If dgvPass.Visible Then
      35. dgvPass.Visible = False
      36. btnStoredPW.BackColor = Color.Transparent
      37. Else
      38. dgvPass.Visible = True
      39. btnStoredPW.BackColor = Color.WhiteSmoke
      40. End If
      41. Case sender Is btnUp
      42. _pwLength += 1
      43. lblPWLength.Text = _pwLength.ToString
      44. btnAccept.Enabled = False
      45. Case sender Is btnAbout
      46. MessageBox.Show("Icons by http://icons8.com", "PasGenII - Icons - Backlink", MessageBoxButtons.OK)
      47. End Select
      48. End Sub
      Nachher

      VB.NET-Quellcode

      1. Private Sub btnPressed_Click(sender As Object, e As EventArgs) Handles btnAcceptPassword.Click, btnClearPW.Click, btnDown.Click, btnProposePasswords.Click, btnClose.Click, btnStoredPW.Click, btnUp.Click, btnAbout.Click
      2. Select Case True
      3. Case sender Is btnAcceptPassword : AcceptPassword()
      4. Case sender Is btnClearPW
      5. txtPass.Text = ""
      6. btnAcceptPassword.Enabled = False
      7. Case sender Is btnDown
      8. _pwLength -= 1
      9. lblPWLength.Text = _pwLength.ToString
      10. btnAcceptPassword.Enabled = False
      11. Case sender Is btnProposePasswords : ProposePasswords()
      12. Case sender Is btnClose : Me.Close()
      13. Case sender Is btnStoredPW : StoredPW()
      14. Case sender Is btnUp
      15. _pwLength += 1
      16. lblPWLength.Text = _pwLength.ToString
      17. btnAcceptPassword.Enabled = False
      18. Case sender Is btnAbout
      19. MessageBox.Show("Icons by http://icons8.com", "PasGenII - Icons - Backlink", MessageBoxButtons.OK)
      20. End Select
      21. End Sub
      22. Private Sub StoredPW()
      23. If dgvPass.Visible Then
      24. dgvPass.Visible = False
      25. btnStoredPW.BackColor = Color.Transparent
      26. Else
      27. dgvPass.Visible = True
      28. btnStoredPW.BackColor = Color.WhiteSmoke
      29. End If
      30. End Sub
      31. Private Sub AcceptPassword()
      32. Dim obPass(2) As Object
      33. btnAcceptPassword.Enabled = False
      34. obPass(1) = txtPass.Text
      35. obPass(2) = Date.Now
      36. DsPass.StoredPassword.Rows.Add(obPass)
      37. SaveDataSet()
      38. Clipboard.SetText(txtPass.Text)
      39. lblTimer.Interval = 3000
      40. lblPass.Text = "copied to clipboard..."
      41. lblTimer.Start()
      42. End Sub
      43. Private Sub ProposePasswords()
      44. Dim rndZahl As New Random
      45. Dim strBuilder As New System.Text.StringBuilder("")
      46. Dim charZeichen() As Char = "abcdefghijklmnopqrstuvwxyzäöü012345678!$&-#_+%@€ABCDEFGHIJKLMNOPQRSTUVWXYZÄÖÜ".ToCharArray()
      47. lblTimer.Stop()
      48. For i As Integer = 1 To _pwLength
      49. strBuilder.Append(charZeichen(rndZahl.Next(0, charZeichen.Count - 1)))
      50. Next
      51. txtPass.Text = strBuilder.ToString
      52. btnAcceptPassword.Enabled = True
      53. End Sub
      (hab auch bischen umbenannt, und dass die MethodenNamen auch den Button assoziieren lassen)
      Aber ist eine Code-Stil-, Geschmacks- Gewohnheits- und Glaubens-Kriegs-Frage, und gehört eiglich (als 2545. Post) in den gepinnten CodeStil-Thread des Forums ;)




      Übrigens mit Async kannst du den Timer runterschmeissen, und ganz straight forward coden:

      VB.NET-Quellcode

      1. Private Async Sub AcceptPassword()
      2. Dim obPass(2) As Object
      3. btnAcceptPassword.Enabled = False
      4. obPass(1) = txtPass.Text
      5. obPass(2) = Date.Now
      6. DsPass.StoredPassword.Rows.Add(obPass)
      7. SaveDataSet()
      8. Clipboard.SetText(txtPass.Text)
      9. lblPass.Text = "copied to clipboard..."
      10. Await Task.Delay(3000)
      11. btnAcceptPassword.Enabled = True
      12. lblPass.Text = ""
      13. End Sub




      Achdu Sch... - was ist denn das?

      VB.NET-Quellcode

      1. Dim obPass(2) As Object
      2. obPass(1) = txtPass.Text
      3. obPass(2) = Date.Now
      4. DsPass.StoredPassword.Rows.Add(obPass)
      Das gehört so:

      VB.NET-Quellcode

      1. DsPass.StoredPassword.AddStoredPasswordRow(txtPass.Text, Date.Now)
      typisiertes Dataset auch typisiert programmieren! - guck nochmal das Video dazu an - weißt welches ich meine?
      Und das Video mit der "Inspektion" auch, denn programmieren kann man besser, wenn man die Sachen kennt.
      Und kennenlernen tut man sie mittm ObjectBrowser.

      Dieser Beitrag wurde bereits 13 mal editiert, zuletzt von „ErfinderDesRades“ ()

      Hallo,
      @MircoTuor: die Löschfunktion ist umgesetzt... wenn die gespeicherten Passwörter angezeigt werden, dann löscht der Mülleimer die angeklickte reihe, wenn nicht, dann nur das Password Feld... Backlink habe ich jetzt auch geändert, neues Symbol und der Link ist Klickbar...

      @ErfinderDesRades: ich danke Dir für die ganzen Hinweise. Habe mich auch direkt an die Umsetzung gemacht. Es sieht dadurch wirklich übersichtlicher aus. Die Async Funktion kannte ich noch garnicht, finde ich aber super, dann habe ich wieder ein Control weniger...
      Das mit dem

      VB.NET-Quellcode

      1. Dim obPass(2) As Object
      2. obPass(1) = txtPass.Text
      3. obPass(2) = Date.Now
      4. DsPass.StoredPassword.Rows.Add(obPass)
      ist tatsächlich auf meinen Mist gewachsen ;( muss die Videos wirklich mal runter laden und bevor ich in der Richtung was tue, nochmal anschauen. Irgendwie behält sich mein Hirn das nicht alles ^^ . Hab auch genau das gleiche in einer anderen Anwendung gehabt und dort auch direkt geändert... ist eigentlich auch logisch, wenn man genau drüber nachdenkt...
      Umbenannt hab ich dann auch noch den btnAbout in btnBackLink ist ja auch genau das...
      Ich prüf jetzt nochmal alles durch und jage dann ein Update hoch...
      Aber ERST, wenn mir wegen dem copy to clipboard noch was schöneres einfällt, das jetzige gefällt mir nicht so...
      "Hier könnte Ihre Werbung stehen..."

      PasGenII - Update - Version 1.0.0.1

      Hi,

      hier das erste Update:

      - löschen der gespeicherten Kennwörter implementiert (wird der Kennwort speicher angezeigt, löscht der Mülleimer die markierte Zeile aus der Datenbank)
      - Backlink Symbol geändert und Link anklickbar (durch LinkLabel unterhalb von Top)
      - Code überarbeitet (Danke an @ErfinderDesRades)
      - "copied to clipboard" Hinweis schöner gestaltet
      - Form Close Symbol geändert (näher angelehnt an den Smartphone Style)

      Danke an alle, die Hinweise und Wünsche geäußert haben.

      P.S. Anhänge im StartPost ausgetauscht... also bitte neu herunter laden :)
      P.P.S. @MircoTuor: da ist es :)

      @EaranMaleasi:
      ich hab mir Deine Funktion nochmal angeschaut, finde die echt Klasse, würde ich gerne verwenden wenn Du erlaubst...
      was mir allerdings noch nicht klar ist, wie du die Zeichen (AllChars) auswählen möchtest... sollen die erst in die Textbox geschrieben werden und dann damit generiert werden, oder meinst Du buttens (oder Checkboxen oder what ever) wo man zum Beispiel wählen kann a-z, A-Z, 0-9, Sonderzeichen... oder meinst du wirklich das du einzelne Zeichen wäjlen kannst ala nimm akHO?78 und baue daraus varianten?
      "Hier könnte Ihre Werbung stehen..."

      Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „MichaHo“ ()

      Gegenfrage:
      Ist es von dir geplant, dass der User Die Zeichenauswahl verändern kann? Wenn ja wie?

      Mein Vorschlag war lediglich zu deiner Nennung von Checkboxen, dass man ja auch einen "advanced" oder "advanced options" Bereich anlegen könnte, in dem, der User nicht nur die Zeichensätze auswählen kann, sondern ganz selbst definieren kann, welche Zeichen für das Passwort verwendet werden. Das ist super simpel über eine Textbox gelöst, die die Eingabe des User aufnimmt und dann abgefragt wird. Du bräuchtest nur den String der Text-Eigenschaft der Passwortfunktion übergeben, dazu noch die Länge aus ner anderen Textbox (oder wie auch immer du die festlegen möchtest), und schon hat der User das Passwort "huihuihui" weil er als Buchstaben nur "hiu" angegeben hatte bei einer Länge von 9 Zeichen.
      Ist zwar nur eine Spielerei, da jedes einschränken des Zeichensatzes zu signifikant schwächeren Passwörtern führt, doch ein möglicher Angreifer müsste dafür auch Wissen, dass jene Person einen derart reduzierten Zeichensatz überhaupt verwendet. Sowieso ist bei jedem Passwort, das kleiner als die Anzahl an Zeichen im gewählten Zeichensatz nicht heraus zu finden ob der gewählte Zeichensatz reduziert ist. Zumindest nich bei einem oder zwei Passwörtern. Nun aber genug von Sicherheit und zurück zum Programmierspaß :D

      Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „EaranMaleasi“ ()

      Hallo,

      klar kann der User die Zeichenfolge ändern, er kann entweder ein Password generieren lassen, dort dann einzelne Zeichen löschen, ersetzen, tauschen what ever.. Oder er kann ein komplett eigenes in die textbox eintragen (wobei dann der Sinn eines Generators verloren wäre)

      ich hatte am anfang ganz oben eine Menüleiste mit settings, aber das passte so garnicht zum Design, daher hab ich es weg gelassen. Mir erschliesst sich auch ehrlich gesagt der Sinn nicht, eigene Zeichen zur generierung vorzugeben... Was will ich mit nem 10 stelligen kennwort wo nur hui und ne zahl vorkommt (als Beispiel)... Aber ich denke darüber nach, wenn ich es ins Design sinnvoll integrieren kann, dann übernehme ich es gerne. Die Funktion dafür hab ich ja jetzt...
      "Hier könnte Ihre Werbung stehen..."
      Was soll denn diese schlechte Imitation von iOS 6 bewirken?

      Grüße
      "Life isn't about winning the race. Life is about finishing the race and how many people we can help finish the race." ~Marc Mero

      Nun bin ich also auch soweit: Keine VB-Fragen per PM! Es gibt hier ein Forum, verdammt!
      also ich finds cool, wenn ich mich nicht irre machst du ja nebenbei fernstudium und man kann von thread zu thread fortschritte erkennen! ...würde gerne auch so schnell voran kommen ;)


      ich muss aber auch gestehen, dass mich die optik vorerst sehr irritiert hat. es erinnert stark an eine app, auch den EXIT Button style finde ich etwas gewöhnungsbedürftig, erinnert mich an eine akku ladestandsanzeige
      Gruß Hannes