| |
VB.NET - Ein- und UmsteigerJedes Zeichen darf nur einmal vorkommen | | | Autor: vbmatze | Datum: 08.07.12 19:00 |
| Hallo liebe vb-Cracks ich habe eine Frage und hoffe ihr könnt mir weiter helfen.
Ich habe einen Zufallsgenerator gebastelt der Passwörter nach verschiedenen Kriterien generieren kann. Nun möchte ich eine Funktion implementieren, bei der ein aus Zufallszeichen bestehendes Passwort so modifiziert wird, dass jedes Zeichen im Passwort nur einmal vorkommt. Wie könnte ich da am besten vorgehen ?
Vielen Dank für Eure Bemühungen schon einmal im Voraus.
LG vbmatze
Ich glaube, dass Zitronenfalter Zitronen falten | |
Re: Jedes Zeichen darf nur einmal vorkommen | | | Autor: Caddy | Datum: 08.07.12 19:22 |
| Nun wenn du das PW Zeichen für Zeichen zusammen setzt, dann kannst du mit Strings arbeiten.
1. Erstes Zeichen generieren und in String speichern
2. jedes weitere Zeichen einzelnd generieren und jedweils prüfen ob es im String schon vorahnden ist. Falls nicht mit Concat am String anhängen.
Private Sub Button1_Click(ByVal sender As System.Object, _
ByVal e As System.EventArgs) Handles Button1.Click
Dim str As String
str =<erstes generiertes Zeichen>
For x as Integer = 1 to <Länge des PW -1>
If str.Contains(<x. generiertes Zeichen>) = True Then
String.concat(str, <x. generiertes Zeichen>)
End If
Next
End Sub Gruss Caddy | |
Re: Jedes Zeichen darf nur einmal vorkommen | | | Autor: Manfred X | Datum: 08.07.12 20:26 |
| Hallo!
Falls es hier um Passwörter geht ...
Passwörter gibt der Benutzer ein.
Sie sollten nicht von Programmen modifiziert werden.
Die Regel, dass jedes Zeichen darf nur einmal vorkommen
darf, schränkt die Zahl der verfügbaren Passworte ein.
Warum sollte das sinnvoll sein?
Üblicherweise testet man nur, ob ein Zeichen mehrfach
hintereinander vorkommt (z.B. xxxyyy), und lehnt solche
Passwörter dann ab.
MfG
Manfred | |
Re: Jedes Zeichen darf nur einmal vorkommen | | | Autor: vbmatze | Datum: 08.07.12 20:52 |
| Im Grunde haben Sie schon recht. Die Passwörter werden aber automatisch generiert und wenn der Nutzer ein Passwort wünscht in dem kein Zeichen mehrfach vorkommen soll (warum auch immer) wollte ich diese Möglichkeit anbieten.
Haben Sie evtl. noch weitere Hinweise diesbezüglich für mich?
Ich glaube, dass Zitronenfalter Zitronen falten | |
Re: Jedes Zeichen darf nur einmal vorkommen | | | Autor: vbmatze | Datum: 08.07.12 20:55 |
| Das hört sich ja schonmal gut an. Mal sehen was sich daraus für mich basteln lässt.
Mein Zufallsgenerator sieht bisher wie folgt aus (und funktioniert):
Public Class zufallsgenerator
'Variable für die Zufallszahl
'---------------------------
Private _z As Random
'Konstruktor
'-----------
Public Sub New()
_z = New Random
End Sub
'Zufallsgenerator
'----------------
Public Overridable Function zufallstring(ByVal input As String, ByVal _
anzzeichen As Integer) As String
Dim strgb As New System.Text.StringBuilder
Dim zeichenarray() As Char = input.ToCharArray
For i As Integer = 1 To anzzeichen
Dim p As Integer = _z.Next(0, zeichenarray.Length)
strgb.Append(zeichenarray(p))
Next i
Return strgb.ToString
End Function
End Class Kann man diese Variante des Zufallsgenerators entsprechend modifizieren um die gewünschte Funktion zu implementieren?
Ich glaube, dass Zitronenfalter Zitronen falten | |
Re: Jedes Zeichen darf nur einmal vorkommen | | | Autor: Manfred X | Datum: 08.07.12 21:12 |
| Um Passworte sicher zu gestalten, kommt es darauf an,
einen möglichst großen Zeichenbereich auszuschöpfen.
Oft wird gefordert, das ein Passwort
- aus mindestens 8 Zeichen besteht
- dass Buchstaben in Groß- und Kleinschreibung enthalten sein müssen
plus mindestens eine Ziffer plus mindestens ein Sonderzeichen
- dass keine Namen oder sinnvollen Worte verwendet werden
- dass das Passwort in regelmäßigen Abständen erneuert wird
MfG
Manfred | |
Re: Jedes Zeichen darf nur einmal vorkommen | | | Autor: vbmatze | Datum: 08.07.12 21:18 |
| Vielen Dank für die Info, mein Passwortgenerator erfüllt alle diese Anforderungen. Was halten Sie von einer Funktion sich ähnlich aussehende Zeichen zu vermeiden? Also auch speziell wenn diese Hintereinander stehen?
Ich glaube, dass Zitronenfalter Zitronen falten | |
Re: Jedes Zeichen darf nur einmal vorkommen | | | Autor: Manfred X | Datum: 08.07.12 21:30 |
| Das "Aussehen" eines Zeichen spielt keine Rolle.
Wichtig ist nur der Umfang des Zeichenvorrats aus
dem die einzelnen Zeichen ausgewählt werden, die Unabhängigkeit
der Zeichen-Auswahl und die Anzahl der Zeichen.
Unabhängigkeit bedeutet, dass man aus der Kenntnis eines
Zeichens keine Schlußfolgerung ziehen kann, wie das nächste
(oder die nächsten) Zeichen im Passwort aussehen könnte(n).
Zu vermeiden sind z.B. Perioden: 123_123_123
Aber: Der Benutzer sollte sich ein Passwort auch merken können
(Memotechnik: z.B. Geburtsjahr der Mutter, Slash und die ersten
drei Buchstaben des Vornamens des Großvaters).
Beitrag wurde zuletzt am 08.07.12 um 21:35:27 editiert. | |
Re: Jedes Zeichen darf nur einmal vorkommen | | | Autor: Caddy | Datum: 08.07.12 21:34 |
| Ich kenne auch viele Programme und speziell Internetseiten, wo man ein vorgeneriertes PW geschickt bekommt, um ein,al rein zu kommen undann kann man es wieder in ein eigenes ändern. Funktion auf vielen Webseiten : PW zurücksetzen oder neues anfordern
Dann gibt es auch Programme wo man eine Key mitbekommt, um es frei zu schalten. Der Key ist manchmal nix anderes wie ein generiertes PW.
Somit gibt es die Funktion schon.
EIn Benutzer-PW sollte aber von einme Benutzer perönlich gewählt werden, da stimm ich dir zu.
Gruss Caddy | |
Re: Jedes Zeichen darf nur einmal vorkommen | | | Autor: Manfred X | Datum: 09.07.12 13:20 |
| Hallo!
Schon klar. Solche temporären (meist per E-Mail nach Registrierung
übermittelten) Passworte sind aber gewöhnlich nicht "sicher", sondern
oft eine kurze Kombination aus einigen Ziffern oder Großbuchstaben.
Merken kann man sich diese zufallsgenerierten "Passworte" nicht.
Sie werden einfach aus der E-Mail in das Passwortfeld kopiert und
danach vom User geändert.
MfG
Manfred | |
| Sie sind nicht angemeldet! Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.
Einloggen | Neu registrieren |
|
|
Neu! sevEingabe 3.0
Einfach stark!
Ein einziges Eingabe-Control für alle benötigten Eingabetypen und -formate, inkl. Kalender-, Taschenrechner und Floskelfunktion, mehrspaltige ComboBox mit DB-Anbindung, ImageComboBox u.v.m. Weitere InfosTipp des Monats TOP Entwickler-Paket
TOP-Preis!!
Mit der Developer CD erhalten Sie insgesamt 24 Entwickler- komponenten und Windows-DLLs. Die Einzelkomponenten haben einen Gesamtwert von 1605.50 EUR...
Jetzt nur 599,00 EURWeitere Infos
|
|
|
Copyright ©2000-2024 vb@rchiv Dieter Otter Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.
Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel
|
|