Auf einen Wunsch hin, habe ich den Passwordgenerator noch einmal umgeschrieben.
Man sollte mehrere Zeichenarten wählen können, und selbst die Länge setzen können. Alle diese Ansprüche habe ich fix mal umgesetzt und den Passwordgenerator geupdated.
Den Source dazu findet ihr hier, auch wenn es sicherlich nicht der Beste ist:
<!--
Passwordgenerator written in Javascript by gehaxelt
www.gehaxelt.in
-->
<html>
<head>
</head>
<body>
<div id="passwordgenerator">
<input type="checkbox" id="Big" ><label for="Caps">ABC</label><br />
<input type="checkbox" id="Small"><label for="Small">abc</label><br />
<input type="checkbox" id="Nums"><label for="Nums">123</label><br />
<input type="checkbox" id="Extra"><label for="Exrta">?!&</label><br />
<label for="laenge">Länge: </label><input type="text" id="laenge"/><br />
<button onclick="generatePassword()">Generieren</button><br>
<label for="output">Passwort: </label><input type="text" id="output"/><br />
</div>
<script>
var charset="";
function generatePassword() {
var ilength=document.getElementById("laenge").value;
if(isNaN(ilength)) {
alert("Die Länge ist keine Zahl!");
return false;
}
setCharset();
document.getElementById("output").value=genRandomPass(ilength)
}
function genRandomPass(len) {
var pass="";
for(i=0;i<len;i++)
pass=pass+charset.charAt(randomNum(0,charset.length));
return pass;
}
function setCharset() {
charset="";
if(document.getElementById("Big").checked) {
for(var i=65;i<=90;i++)
charset=charset+String.fromCharCode(i);
}
if(document.getElementById("Small").checked) {
for(var i=97;i<=122;i++)
charset=charset+String.fromCharCode(i);
}
if(document.getElementById("Nums").checked) {
for(var i=48;i<=57;i++)
charset=charset+String.fromCharCode(i);
}
if(document.getElementById("Extra").checked) {
for(var i=33;i<=47;i++)
if(!(i==34||i==39||i==47))
charset=charset+String.fromCharCode(i);
for(var i=58;i<=64;i++)
charset=charset+String.fromCharCode(i);
for(var i=91;i<=96;i++)
if(!(i==92||i==96))
charset=charset+String.fromCharCode(i);
for(var i=123;i<=126;i++)
charset=charset+String.fromCharCode(i);
}
}
function randomNum(min,max) {
return Math.floor(Math.random()* (max-min) + min);
}
</script>
</body>
</html>
Gruß
gehaxelt