Как сгенерировать пароль на JS

Как сгенерировать пароль на JS


Заполнение поля с эффектом печатающегося текста:

В старых браузерах нет поддержки Web Cryptography, поэтому для них всё-таки придется использовать Math.random().


$("#input-generate").click(function(){

var $input = $("#input-password");

$input.val('');

 

var pass = generatePassword();

var txt = pass.split("");

var interval = setInterval(function(){

if(!txt[0]){

clearInterval(interval);

} else {

$input.val($input.val() + txt.shift());

}

}, 50);


return false;

});


function generatePassword(){

var length = 8,

charset = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz~!@-#$";

if(window.crypto && window.crypto.getRandomValues) {

return Array(length)

.fill(charset)

.map(x => x[Math.floor(crypto.getRandomValues(new Uint32Array(1))[0] / (0xffffffff + 1) * (x.length + 1))])

.join('');   

} else {

res = '';

for (var i = 0, n = charset.length; i < length; ++i) {

res += charset.charAt(Math.floor(Math.random() * n));

}

return res;

}

}


Report Page