Passwort Generator
Need HELP
Hallo,
Da ich in VB oder VBS noch nicht so bewandt bin würde mich über ein par Tipps freuen wie ich am gescheitesten einen Passwort Generator schreibe.
Mindestens 7 Zeichen
Sonderzeichen also Groß klein
Und 2 zahlen
Oder könnt ihr mir irgendwelche guten Seiten nennen wo ich die passenden Infos finde
Hallo,
Da ich in VB oder VBS noch nicht so bewandt bin würde mich über ein par Tipps freuen wie ich am gescheitesten einen Passwort Generator schreibe.
Mindestens 7 Zeichen
Sonderzeichen also Groß klein
Und 2 zahlen
Oder könnt ihr mir irgendwelche guten Seiten nennen wo ich die passenden Infos finde
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 38900
Url: https://administrator.de/contentid/38900
Ausgedruckt am: 22.11.2024 um 15:11 Uhr
10 Kommentare
Neuester Kommentar
Moin Technofreak,
Dachtest Du, das wäre die Signierung des Entwicklers Deines Browsers?
Wenn man/frau Deinen Schnipsel grob durchharkt, damit irgendetwas anderes beim Drücken des Buttons passiert, dann könnte es so aussehen:
...und der liefert dann Ergebnisse wie "ZsfKPYG" oder "2U5VoRD" in einem neuen Textfeld.
Hat allerdings inhaltlich auch nur wenig mit Deiner Frage von gestern zu tun - ist weder VB noch VBS noch enthält er vorhersagbar 2 Ziffern oder ist immer 7 Zeichen lang.
Ich finde, Du fängst noch mal von vorne an, beschreibst was Du mit welchem Werkzeug vor hast, ob es ein Generator sein soll im Sinne einer echten Funktion mit Parametern wie Länge und Zeichensatz oder für welchen Zweck so etwas nötig ist.
Sonst bleiben die noch kommenden Antworten ähnlich schwammig wie meine.
Grüße
Biber
Könnte mit jemand sagen warum das script net läuft??
Jepp. Weil es zu viele Fehler enthält. Deshalb steht auch unten links: "Script Error!"Dachtest Du, das wäre die Signierung des Entwicklers Deines Browsers?
Wenn man/frau Deinen Schnipsel grob durchharkt, damit irgendetwas anderes beim Drücken des Buttons passiert, dann könnte es so aussehen:
<html><head><meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"/>
<title>Bibers Passwordtest</title>
<script type="text/javascript">
<!--
function createpw() {
var charSet = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890.,:;-_#'+*~?ß/\\";
var pw = "";
var pwlength = document.passwort.pwlength.value;
var pwtype = document.passwort.pwtype.value;
for(i=1; i<=pwlength; i++) {
num = Math.round( (pwtype - 1) * Math.random()) + 1 ;
pw += charSet.charAt(num);
}
document.passwort.text1.value = pw
}
-->
</script></head>
<form action="" name="passwort" method="post">
Passwort Länge:
<select name="pwlength">
<option value="7">7</option>
<option value="8">8</option>
<option value="9" selected>9</option>
<option value="10">10</option>
</select>
Passwort Format:
<select name="pwtype">
<option value="62">Klein-, Großbuchstaben und Zahlen</option>
<option value="78">Klein-, Großbuchstaben, Zahlen und Sonderzeichen</option>
</select>
<input type="button" onclick="createpw();" value="Passwort generieren">
<input type="text" name="text1" size=10>
</form>
...und der liefert dann Ergebnisse wie "ZsfKPYG" oder "2U5VoRD" in einem neuen Textfeld.
Hat allerdings inhaltlich auch nur wenig mit Deiner Frage von gestern zu tun - ist weder VB noch VBS noch enthält er vorhersagbar 2 Ziffern oder ist immer 7 Zeichen lang.
Ich finde, Du fängst noch mal von vorne an, beschreibst was Du mit welchem Werkzeug vor hast, ob es ein Generator sein soll im Sinne einer echten Funktion mit Parametern wie Länge und Zeichensatz oder für welchen Zweck so etwas nötig ist.
Sonst bleiben die noch kommenden Antworten ähnlich schwammig wie meine.
Grüße
Biber
Guten Morgen,
ich habe auch mal drüber nachgedacht (so bin ich halt ) und bin auf zwei Lösungen gekommen, die aber beide nichts mit VBA zu tun haben.
Variante 1 ist eine Delphi-Funktion, die evtl. jemand, der sich damit auskennt (Gelbe Seiten?) in VBA umfriemeln kann. Hier wird erst eine Zufallszahl gebildet, die die Anzahl der Zeichen (Zählschleife) festlegt. Innerhalb der Schleife werden dann so lange Zufallszahlen gebildet, bis ein gültiger Wert (Zahl, Klein- und Großbuchstaben) aus der Ascii-Tabelle entsteht. Ist das passiert, wird das Zeichen hinter diesem Wert an das Ausgabe-Resultat der Funktion gehängt:
Die 2. Variante kommt komplett ohne Programmierung aus und lässt sich unter Excel realisieren:
Hierzu ist es nötig, im Add-Ins-Manager (Menü Extras) die Analyse-Funktionen zu installieren (Anklicken reicht!)
A2 ist die Ausgabezelle für das Passwort:
In B2 wird die Anzahl der Zeichen bestimmt:
In C3 bis C5 wird jeweils ein Bereich von 1 - 3 gebildet, da man drei Bereiche aus der Ascii-Tabelle wählen kann, aus denen Zeichen gebildet werden können. Die Bereiche sind
48 - 57, 65 - 90 und 97 - 122.
In C5 bis C8 wird nur ein Bereich gewählt, wenn mehr als 3 Zeichen ermittelt werden sollen:
In D2 bis D8 werden dann Zufallszahlen aus den jeweiligen Bereichen gebildet und in das entsprechende Zeichen konvertiert. Diese Formel kann in D2 eingetragen werden und dann bis D8 kopiert werden (durch runter ziehen)
War doch einfach, oder? 8-)
Viel Spass beim Testen!
Psycho
ich habe auch mal drüber nachgedacht (so bin ich halt ) und bin auf zwei Lösungen gekommen, die aber beide nichts mit VBA zu tun haben.
Variante 1 ist eine Delphi-Funktion, die evtl. jemand, der sich damit auskennt (Gelbe Seiten?) in VBA umfriemeln kann. Hier wird erst eine Zufallszahl gebildet, die die Anzahl der Zeichen (Zählschleife) festlegt. Innerhalb der Schleife werden dann so lange Zufallszahlen gebildet, bis ein gültiger Wert (Zahl, Klein- und Großbuchstaben) aus der Ascii-Tabelle entsteht. Ist das passiert, wird das Zeichen hinter diesem Wert an das Ausgabe-Resultat der Funktion gehängt:
function Password : String;
Var
i : Byte;
zeichen : Byte;
begin
Result := '';
Randomize;
zeichen := 0;
For i := 1 To Random(5)+ 3 Do Begin
While Not (((zeichen >= 48) And (zeichen <= 57)) Or
((zeichen >= 65) And (zeichen <= 90)) Or
((zeichen >= 97) And (zeichen <= 122))) Do Begin
zeichen := Random(122);
End;
Result := Result + Chr(zeichen);
zeichen := 0;
End;
end;
Die 2. Variante kommt komplett ohne Programmierung aus und lässt sich unter Excel realisieren:
Hierzu ist es nötig, im Add-Ins-Manager (Menü Extras) die Analyse-Funktionen zu installieren (Anklicken reicht!)
A2 ist die Ausgabezelle für das Passwort:
=VERKETTEN(D2;D3;D4;D5;D6;D7;D8)
=ZUFALLSBEREICH(3;7)
48 - 57, 65 - 90 und 97 - 122.
=ZUFALLSBEREICH(1;3)
=ZUFALLSBEREICH(1;3)
=ZUFALLSBEREICH(1;3)
=WENN($B$2>3;ZUFALLSBEREICH(1;3);"")
=WENN($B$2>4;ZUFALLSBEREICH(1;3);"")
=WENN($B$2>5;ZUFALLSBEREICH(1;3);"")
=WENN($B$2>6;ZUFALLSBEREICH(1;3);"")
=WENN(C2<>"";WENN(C2=1;ZEICHEN(ZUFALLSBEREICH(48;57));WENN(C2=2;ZEICHEN(ZUFALLSBEREICH(65;90));ZEICHEN(ZUFALLSBEREICH(97;122))));"")
War doch einfach, oder? 8-)
Viel Spass beim Testen!
Psycho
Genial, Psycho, diese Excel-Variante.
Wenn es nicht sprach-spezifisch sein muss, kann ich natürlich auch noch einen Batch-6-Zeiler zu dem Thema beisteuern:
:: ---snipp BatchPw.bat
@echo off & setlocal enableDelayedExpansion
Set UC="ABCDEFGHIJKLMNOPQRSTUVWXYZ" & Set LC="abcdefghijklmnopqrstuvwxyz" & Set SC="01234567890123456789012345"
For %%i in (%UC%, %LC%, %UC%, %SC% ,%UC%, %SC%, %LC%) do call :makepw %%i !Random!
(Echo %pw%) && goto :eof
:makepw
set "whatChars=%~1" & set /a rnd=%2 %%26
set PW=%pw%!whatchars:~%rnd%,1!
>for /l %i in (1,1,20) do @makepw
OvW8Z3i
HhQ5Z6k
KwP3H6h
HzV7Z6c
WfQ5Z8s
HdZ0O5i
EbH6E5d
WfP5U0p
MzX1T3c
PuJ3U4l
XlX9Q7r
AjB2R4r
YjE1C7k
IyT2G6s
YvV6A5e
OdX7U8s
JhY0L7v
DyJ9Y3w
LkG8N7y
PzB4G3r
Allen Ansätzen gemeinsam ist ja offensichtlich, dass die Generierung immer mit einer RANDOMIZE- und der MODULO-Funktion erfolgt.
Und vielleicht ist das ja das, was Technofreak wissen wollte.
Gruß
Biber
Fertige Passwortgeneratoren für Excel gibt es inzwischen mehrere. Da kannst du zwischen VBA Lösungen oder Excel Formeln wählen.