Omdat de mensen van tegenwoordig geen inspiratie meer hebben om veilige paswoorden te verzinnen, gaan we in de nieuwe versie van het Control Panel (http://cp.crsolutions.be) voorzien van een password-generator. In de eerste versie kreeg je nogal rare paswoorden, niet "uitspreekbaar".
Maar de laatste tijd begin ik me meer en meer te verdiepen in PEAR en daar heb ik een eenvoudige manier terugvonden, ik heb deze omgezet naar javascript.
Hieronder dan maar de code (demo):
/**
* this js-script can be used for generating passes
*
* @author Verkoyen Tys
* @copyright 2005 CR Solutions
* @version 0.1 */
/**
* Generates a password (possible chars are a-z, A-Z)
*
* @param int length the length of the password
* @return string the generated password
*/
function generate(length) {
// List of vowels and vowel sounds
var v = new Array('a', 'e', 'i', 'o', 'u', 'ae', 'ou', 'io', 'ea', 'ou', 'ia', 'ai');
// List of consonants and consonant sounds
var c = new Array('b', 'c', 'd', 'g', 'h', 'j', 'k', 'l', 'm', 'n', 'p', 'r', 's', 't', 'u', 'v', 'w', 'tr', 'cr', 'fr', 'dr', 'wr', 'pr', 'th', 'ch', 'ph', 'st', 'sl', 'cl');
var pass = "";
var tmp = "";
for (i = 0; i < length; i++) {
tmp += c[Math.floor(Math.random() * c.length)]+v[Math.floor(Math.random() * v.length)];
}
for (i = 0; i < length; i++) {
if(Math.floor(Math.random()*2)) {
pass += tmp.substr(i,1).toUpperCase();
} else {
pass += tmp.substr(i,1);
}
}
return pass;
}