Rubrik: Variablen/Strings · Algorithmen/Mathematik | VB-Versionen: VB4, VB5, VB6 | 24.07.03 |
Key-Generator Eine kleine Hilfsfunktion, die ein zufälliges Kennwort aus Buchstaben und Zahlen ermittelt. | ||
Autor: Dieter Otter | Bewertung: | Views: 34.360 |
www.tools4vb.de | System: Win9x, WinNT, Win2k, WinXP, Win7, Win8, Win10, Win11 | Beispielprojekt auf CD |
Immer dann wenn man sich ein Kennwort ausdenken muss, fängt man ganz autom. das Überlegen an: "Was nehme ich denn diesmal für ein Kennwort?"
Warum nicht also eine kleine Funktion erstellen, die ein zufälliges Kennwort aus Buchstaben und Zahlen ermitteln, wobei die Länge des gewünschten Kennwortes als Parameter angegeben werden kann. Daraus ergibt sich dann manchmal aber folgende Frage: 0 (Null) oder O (Buchstabe O), 1 (Eins) oder I (Buchstabe I).
Also entschließen wir uns weder die Zahl Null, noch den Buchstaben I zu verwenden
Private Function CreateKey(ByVal nLen As Integer) As String ' zufälligen Key aus Großbuchstaben und ' Zahlen ermitteln Dim i As Integer Dim nValue As Integer Dim sKey As String For i = 1 To nLen Randomize -Timer nValue = Int(1000 * Rnd) If (nValue Mod 10 = 0) Or (nValue Mod 5 = 0) Or (nValue Mod 3 = 0) Then ' Zahl Randomize -Timer Do nValue = Int(8 * Rnd + 1) Loop Until nValue >= 1 And nValue <= 9 sKey = sKey & Chr$(48 + nValue) Else ' Buchstabe Randomize -Timer Do nValue = Int(26 * Rnd) Loop Until nValue >= 1 And nValue <= 26 And nValue <> 9 And nValue <> 15 sKey = sKey & Chr$(64 + nValue) End If Next i CreateKey = sKey End Function
Zunächst wird per Zufallsgenerator eine Zahl zwischen 0 und 999 ermittelt. Lässt sich die ermittele Zufallszahl durch 10, 5 oder 3 OHNE REST teilen, ermitteln wir ein Zahl für unseren Key - andernfalls einen Buchstaben. Bei längeren Keys sollte dann die Anzahl der Buchstaben im Key überwiegen.
Fazit:
Wann immer Sie ein Kennwort ohne erst lange zu überlegen benötigen, verwenden Sie ab sofort Ihren neuen Key-Generator