von postNils Kaczenski post28. Juli 2004, 16:28 Uhr
post Kategorie: Scripting, Sicherheit

Achtung: Diese Seite funktioniert derzeit nur mit dem Internet Explorer, weil sie VBScript verwendet und nicht JavaScript. Vielleicht ändere ich das bei Gelegenheit.

 

Länge:

(7 bis 127 Zeichen)

Passwort:

(kann nach dem Generieren per Maus markiert und kopiert werden)
 

 

sub PWGen()
intLaenge = Eingabe.Laenge.value
if not Isnumeric(intLaenge) then intLaenge = setAnzahl(8)
strPasswort = Kennwort(intLaenge)
Eingabe.Ausgabe.value = strPasswort

end sub

function setAnzahl(Zahl)
setAnzahl = Zahl
Eingabe.Laenge.value = Zahl
end function

function Kennwort(Anzahl)
if Anzahl 127 then Anzahl = setAnzahl(127)
Wort = ""
Wort = Zeichen(48, 57) ' Ziffern
Wort = Wort & Zeichen(65, 90) ' Großbuchstaben
Wort = Wort & Zeichen(97, 122) ' Kleinbuchstaben
Wort = Wort & Zeichen(33, 47) ' Satzzeichen
if Anzahl > 4 then
for i = 5 to Anzahl
Wort = Wort & Zeichen (33, 122) 'sonstige Zeichen
next
end if
Wort = Verschiebe(Wort) ' Zeichenfolge zufällig ändern
Kennwort = Wort
end function

function Zeichen(Anfang, Ende)
randomize
Zufall = Int((Ende - Anfang +1) * rnd + Anfang)
Zeichen = chr(Zufall)
end function

function Verschiebe(VWort)
WLaenge = len(VWort)
NeuWort = ""
ReDim WFeld (WLaenge)
for i = 1 to WLaenge
WFeld(i) = mid(VWort, i, 1)
next
zahl = 0
do until len(NeuWort) = WLaenge
randomize
j = Int((WLaenge) * rnd + 1)
if WFeld(j) <> "" then
NeuWort = NeuWort & WFeld(j)
WFeld(j) = ""
end if
zahl = zahl + 1
if zahl > 1000 then exit do ' Zur Sicherheit
loop
Verschiebe = NeuWort
end function