technofreak
Goto Top

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

Content-Key: 38900

Url: https://administrator.de/contentid/38900

Ausgedruckt am: 28.03.2024 um 13:03 Uhr

Mitglied: Borstel
Borstel 28.08.2006 um 17:50:09 Uhr
Goto Top
Mitglied: Technofreak
Technofreak 29.08.2006 um 11:31:53 Uhr
Goto Top
M seite war net schlecht habe das mal nachgebau allerdings gehts net need help:
so habe ich das gemacht

<html><head><title>Test</title>
</head><body>

<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">9</option>
<option value="10">10</option>
</select>


Passwort Vormat:
<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">
</form>
<script type="text/javascript">
char = new Array
char[1] ="a";
char[2] ="b";
char[3] ="c";
char[4] ="d";
char[5] ="e";
char[6] ="f";
char[7] ="g";
char[8] ="h";
char[9] ="i";
char[10] ="j";
char[11] ="k";
char[12] ="l";
char[13] ="m";
char[14] ="n";
char[15] ="o";
char[16] ="p";
char[17] ="q";
char[18] ="r";
char[19] ="s";
char[20] ="t";
char[21] ="u";
char[22] ="v";
char[23] ="w";
char[24] ="x";
char[25] ="Y";
char[26] ="z";
char[27] ="A";
char[28] ="B";
char[29] ="C";
char[30] ="D";
char[31] ="E";
char[32] ="F";
char[33] ="G";
char[34] ="H";
char[35] ="I";
char[36] ="J";
char[37] ="K";
char[38] ="L";
char[39] ="M";
char[40] ="N";
char[41] ="O";
char[42] ="P";
char[43] ="Q";
char[44] ="R";
char[45] ="S";
char[46] ="T";
char[47] ="U";
char[48] ="V";
char[49] ="W";
char[50] ="X";
char[51] ="Y";
char[52] ="Z";
char[53] ="1";
char[54] ="2";
char[55] ="3";
char[56] ="4";
char[57] ="5";
char[58] ="6";
char[59] ="7";
char[60] ="8";
char[61] ="9";
char[62] ="0";
char[63] =".";
char[64] =",";
char[65] =":";
char[66] =";";
char[67] ="-";
char[68] ="_";
char[69] ="#";
char[70] ="'";
char[71] ="+";
char[72] ="*";
char[73] ="~";
char[74] ="?";
char[75] ="ß";
char[76] ="/";
char[78] ="\";
function createpw() {
var pw = "";
pwlength = document.passwort.pwlength.value;
pwtype = document.passwort.pwtype.value;
for(i=1; i<=pwlength; i++) {
num = Math.round( (pwtype - 1) * Math.random()) + 1 ;
pw = pw + " " + char[num];
}
document.write("" + pw + " ")
}
</script>
Mitglied: Borstel
Borstel 29.08.2006 um 11:46:48 Uhr
Goto Top
Mitglied: Technofreak
Technofreak 29.08.2006 um 12:03:22 Uhr
Goto Top
leider nicht das was ich suche @ Borstel

Könnte mit jemand sagen warum das script net läuft??
bzw nichts ausgibt
Mitglied: Biber
Biber 29.08.2006 um 18:54:08 Uhr
Goto Top
Moin Technofreak,
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
Mitglied: 8644
8644 30.08.2006 um 08:55:01 Uhr
Goto Top
Guten Morgen,

ich habe auch mal drüber nachgedacht (so bin ich halt face-wink ) 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)
In B2 wird die Anzahl der Zeichen bestimmt:
=ZUFALLSBEREICH(3;7)
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.
=ZUFALLSBEREICH(1;3)
=ZUFALLSBEREICH(1;3)
=ZUFALLSBEREICH(1;3)
In C5 bis C8 wird nur ein Bereich gewählt, wenn mehr als 3 Zeichen ermittelt werden sollen:
=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);"")  
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)
=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
Mitglied: Biber
Biber 30.08.2006 um 09:24:44 Uhr
Goto Top
face-wink
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!
Beispiel-Output (mal 20 Passworte erzeugen):
>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
Mitglied: Technofreak
Technofreak 31.08.2006 um 15:31:20 Uhr
Goto Top
Vielen Lieben dank an euch jungs!!!

THX
Mitglied: 141169
141169 16.09.2019 um 20:06:13 Uhr
Goto Top
Hi, hier ist ein schöner Passwort Generator

Lg face-smile
Mitglied: amexio
amexio 02.05.2021 um 09:25:18 Uhr
Goto Top
Fertige Passwortgeneratoren für Excel gibt es inzwischen mehrere. Da kannst du zwischen VBA Lösungen oder Excel Formeln wählen.