Quick Password Generator
Lass dir ein beliebig langes Passwort generieren, mit oder ohne Zahlen, Buchstaben, Sonderzeichen usw.
Der hier verwendete Code
<script src="/js_webseite/jquery.js"></script>
<div class='primary random_password'>
<section>
<h2>Quick Password Generator</h2>
<p>Creates a quick password of numbers & lowercase letters<br>
Lowercase 'L's, letter 'O's and number '0's are omitted
<p><input type="submit" value="Create (8)" data-len="8" class="pwgen button_class">
<input type="submit" value="Create (12)" data-len="12" class="pwgen button_class">
<input type="submit" value="Create (16)" data-len="16" class="pwgen button_class">
<input type="text" size="16" maxlength="16" class="input_class password" readonly>
</section>
<section>
<h2>Comprehensive Password Generator</h2>
<form id='big_passwords'>
<ul>
<li><label><input type="checkbox" class="input_class" id="pwlowercase" checked>Use Lowercase Letters <span>abcdefghijklmnopqrstuvwxyz</span></label>
<li><label><input type="checkbox" class="input_class" id="pwdigits" checked>Use Digits <span>0123456789</span></label>
<li><label><input type="checkbox" class="input_class" id="pwuppercase">Use Uppercase Letters <span>ABCDEFGHIJKLMNOPQRSTUVWXYZ</span></label>
<li><label><input type="checkbox" class="input_class" id="pwbasicsymbol">Use Basic Symbols <span>!?#$&*@</span></label>
<li><label><input type="checkbox" class="input_class" id="pwmoresymbol">Use More Symbols <span>%()+-=[]{}|~.,</span></label>
<li><label><input type="checkbox" class="input_class" id="pwskipsimilar" checked>Skip Similar Looking Characters <span>0OoIl1</span></label>
<li><label><input type="checkbox" class="input_class" id="pwunique">All Unique Characters</label>
<li><label><input type="checkbox" class="input_class" id="pwmethod2">Equal Character Set Probability</label>
<li><label><input type="text" class="input_class" id="pwlength" value="32" size="3" maxlength="4">Password Length</label>
<li><label><input type="text" class="input_class" id="pwnum" value="4" size="3" maxlength="3">Number of Passwords to Create</label>
</ul>
<div class="error_msg"></div>
<p><input type="submit" name="pwsubmit" value="Generate Passwords" class="button_class">
</form>
<textarea readonly class='input_class' id="password_results"></textarea>
</section>
<section>
<h2>WPA Password Generator</h2>
<p>Similar to the quick password generator above,<br>this generator creates passwords with lengths ideal for WPA Wi-Fi networks
<p><input type="submit" value="Short (12)" data-len="12" class="pwgen button_class">
<input type="submit" value="Long (32)" data-len="32" class="pwgen button_class">
<input type="submit" value="Max (63)" data-len="63" class="pwgen button_class">
<p><input type="text" size="63" maxlength="63" class="input_class password" readonly>
</section>
</div>
<script>
$(function(){
$("#pwd").addClass("this_page");
$(".pwgen").click(function(){
var $length = $(this).attr("data-len");
var $pwd = quick_password($length);
$(this).closest('section').find('.password').val( $pwd );
});
$("#big_passwords").submit(function($e){
$(".error_msg").slideUp('fast');
$("#password_results").slideUp("fast",function(){
var $pool = new Array();
if ( $("#pwmethod2").is(":checked") )
{ var $weighted = true; }
else
{ var $weighted = false; }
if ( $("#pwlowercase").is(":checked") )
{ $pool.push(new Array(97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122)); }
if ( $("#pwuppercase").is(":checked") )
{ $pool.push(new Array(65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90)); }
if ( $("#pwdigits").is(":checked") )
{ $pool.push(new Array(48,49,50,51,52,53,54,55,56,57)); }
if ( $("#pwbasicsymbol").is(":checked") && $("#pwmoresymbol").is(":checked") )
{ $pool.push(new Array(33,63,35,36,38,42,64,37,40,41,43,45,61,91,93,123,125,124,126,46,44)); }
else
{
if ( $("#pwbasicsymbol").is(":checked") )
{ $pool.push(new Array(33,63,35,36,38,42,64)); }
if ( $("#pwmoresymbol").is(":checked") )
{ $pool.push(new Array(37,40,41,43,45,61,91,93,123,125,124,126,46,44)); }
}
if ( $("#pwskipsimilar").is(":checked") )
{
var $newpool = [];
var $newpoollevel2 = [];
$pool.forEach(function($poollevel2)
{
$poollevel2.forEach(function($value)
{
if ( $value !== 48 && $value !== 49 && $value !== 73 && $value !== 79 && $value !== 108 && $value !== 111 )
{ $newpoollevel2.push($value); }
});
$newpool.push($newpoollevel2);
$newpoollevel2 = [];
});
$pool = $newpool;
}
var $pool_length = 0;
$pool.forEach(function($poollevel2)
{ $pool_length += $poollevel2.length; });
if (!$weighted){
var $merged_pool = [];
$pool.forEach(function($poollevel2)
{
$merged_pool = $merged_pool.concat($poollevel2);
});
$pool = $merged_pool;
}
var $filter = /^[1-9][0-9]*$/;
if ( !$filter.test( $("#pwlength").val() ) )
{ $("#pwlength").val("16"); }
var $length = $("#pwlength").val();
if ( !$filter.test( $("#pwnum").val() ) )
{ $("#pwnum").val("4"); }
var $pwnum = $("#pwnum").val();
if ( $("#pwunique").is(":checked") && ($length > $pool_length) ){
$(".error_msg").html("<p>Error: Can't make passwords "+$length+" characters long<br>using only "+$pool_length+" unique characters.").slideDown("fast");
}else if ( $pool_length === 0 ){
$(".error_msg").html("<p>Error: You must select some characters.").slideDown("fast");
}else{
var $i = 1;
var $password_array = new Array();
while ($i <= $pwnum)
{
$password_array.push(String("000" + $i).slice(-3)+": "+ make_big_pw($pool, $length, $weighted) );
$i++;
}
$("#password_results").val( $password_array.join("\n") );
$("#password_results").attr("rows",$pwnum).slideDown("fast");
}
});
$e.preventDefault();
});
});
function make_big_pw($pool,$length,$weighted){
var $c = 0;
var $password = new Array();
while ($c < $length ){
if ($weighted){
var $charclass = Math.floor(Math.random() * $pool.length);
var $newchar = String.fromCharCode( $pool[$charclass][Math.floor(Math.random()*$pool[$charclass].length)] );
}else{
var $newchar = String.fromCharCode( $pool[Math.floor(Math.random()*$pool.length)] );
}
if ( $("#pwunique").is(":checked") )
{
if ( $.inArray($newchar,$password) === -1)
{
$password.push($newchar);
$c++;
}
}else{
$password.push($newchar);
$c++;
}
}
return $password.join("");
}
function quick_password($len){
var $password = "";
var $i = 0;
while ($i < $len){
var $rand = (Math.floor(Math.random()*35) + 97);
if ($rand > 122)
{ $rand -= 75; }
if ($rand !== 111 && $rand !== 108 && $rand !== 48)
{
$password += String.fromCharCode($rand);
$i++;
}
}
return $password;
}
</script>