Скрипт генератора паролей
Предлагаем Вам воспользоваться простым генератором паролей, который позволит Вам генерировать случайные пароли заданной длины. При необходимости Вы можете скачать данный скрипт генерации паролей для последующей установки на свой сайт.
Данный скрипт генерации паролей написан на JavaScript и позволяет создавать пароли заданной длины (в нашем случае от 4 до 20 символов) и состоящий из заданных символов (строчные буквы, заглавные буквы и цифры).
Для генерации пароля воспользуйтесь формой, расположенной ниже:
Если Вам необходим данный генератор паролей на своем сайте, то предлагаем Вам воспользоваться следующим скриптом, который необходимо будет поместить на Вашей страничке:
<script type="text/javascript">
with (document) {
writeln('<form name="pass_form" style="width: 300px; margin: 0 auto;' +
'border: 1px solid #4874a3; text-align: center;">При генерации использовать:<br>' +
'<input name="upper" type="checkbox">Заглавные буквы<br>' +
'<input name="lower" type="checkbox">Маленькие буквы<br>' +
'<input name="digit" type="checkbox">Цифры<br><br>Длина пароля: ' +
'<select name="numbers"><option value="4" selected>4</option>');
for (j=5; j<=20; j++) { writeln('<option value='+j+'>'+j+'</option>'); }
writeln('</select><br><br>');
writeln('<input type="button" value="Генерировать" onClick="generate()"><br><br>' +
'Пароль: <input name="getback" size="30" type="text" value=""></form>');
}
var upp = new Array('','A','B','C','D','E','F','G','H','I','J','K',
'L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z');
var low = new Array('','a','b','c','d','e','f','g','h','i','j','k',
'l','m','n','o','p','q','r','s','t','u','v','w','x','y','z');
var dig = new Array('','0','1','2','3','4','5','6','7','8','9');
function rnd(x, y, z) {
var num;
do {
num = parseInt(Math.random()*z);
if (num >= x && num <= y) break;
} while (true);
return(num);
}
function gen_pass() {
var pswrd = '';
var znak, s;
var k = 0;
var n = document.pass_form.numbers.value;
var pass = new Array();
var w = rnd(30,80,100);
for (var r = 0; r < w; r++) {
if (pass_form.upper.checked) { znak = rnd(1,26,100); pass[k] = upp[znak]; k++; }
if (pass_form.lower.checked) { znak = rnd(1,26,100); pass[k] = low[znak]; k++; }
if (pass_form.digit.checked) { znak = rnd(1,10,100); pass[k] = dig[znak]; k++; }
}
for (var i = 0; i < n; i++) {
s = rnd(1,k-1,100);
pswrd += pass[s];
}
document.pass_form.getback.value = pswrd;
}
function generate() {
if (pass_form.upper.checked||pass_form.lower.checked||pass_form.digit.checked)
{ gen_pass(); }
else { alert('Выберите тип символов!'); pass_form.upper.checked = true; }
}
</script>
Как видите скрипт не сложный, но то же время довольно функциональный, т.к. позволяет создавать пароли заданной длины с использованием цифр, строчных и заглавных букв или всех вместе.
Еще одним плюсом данного скрипта является то, что скрипт не нагружает сервер, т.к. пароль генерируется непосредственно в браузере пользователя.
По просьбам наших посетителей скрипт данного генератора паролей был обновлен и теперь доступен в виде отдельной темы - JavaScript генератор паролей. Код скрипта был упрощен, а также в генератор были добавлены спецсимволы.
Перед публикацией все комментарии проходят обязательную модерацию!
Если Вы хотите задать какой-либо вопрос, то сделайте это на нашем форуме.
Таким образом, Вы сможете быстрее получить ответ на интересующий Вас вопрос.
<form name="pass_form">Пароль: <input name="pass" size="25" type="text" value="">
<input type="button" value="Генерировать" onClick="gen_pass()"></form>
<script type="text/javascript">
chr = new Array('A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z',
'a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z',0,1,2,3,4,5,6,7,8,9);
function rnd(x,y,z) {
var num;
do {
num = parseInt(Math.random()*z);
if (num >= x && num <= y) break;
} while (true);
return(num);
}
function gen_pass() {
var pass = '';
for (var i = 0; i < 20; i++) pass += chr[rnd(0,61,100)];
document.pass_form.pass.value = pass;
}
</script>
Вместо: document.pass_form.getback.value = pswrd;
используйте: document.pass_form.getback.value += pswrd + '\n';
Ну и поместите функцию генерации gen_pass() в цикл: for (i=1; i<=10; i++) gen_pass();
with (document) {
writeln('<form name="pass_form" style="width: 300px; margin: 0 auto;' +
'border: 1px solid #4874a3; text-align: center;"><span style = "color:green;font-weight:bold;">При генерации использовать:</span><br><br>' +
'<input name="upper" type="checkbox">Заглавные буквы<br>' +
'<input name="lower" type="checkbox">Маленькие буквы<br>' +
'<input name="simvol" type="checkbox">Символы<br>' +
'<input name="digit" type="checkbox">Цифры<br><br>Длина пароля: ' +
'<select name="numbers"><option value="4" selected>4</option>');
for (j=5; j<=20; j++) { writeln('<option value='+j+'>'+j+'</option>'); }
writeln('</select><br><br>');
writeln('<input type="button" value="Генерировать" onClick="generate()"><br><br>' +
'Пароль: <input name="getback" size="30" type="text" value=""><p></p></form>');
}
var upp = new Array('','A','B','C','D','E','F','G','H','I','J','K',
'L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z');
var low = new Array('','a','b','c','d','e','f','g','h','i','j','k',
'l','m','n','o','p','q','r','s','t','u','v','w','x','y','z');
var dig = new Array('','0','1','2','3','4','5','6','7','8','9');
var sim = new Array('','!','@','#','$','%','^','&','*','?','/');
function rnd(x,y,z) {
var num;
do {
num = parseInt(Math.random()*z);
if (num >= x && num <= y) break;
} while (true);
return(num);
}
function gen_pass() {
var pswrd = '';
var znak, s;
var k = 0;
var n = document.pass_form.numbers.value;
var pass = new Array();
var w = rnd(30,80,100);
for (var r = 0; r < w; r++) {
if (pass_form.upper.checked) { znak = rnd(1,26,100); pass[k] = upp[znak]; k++; }
if (pass_form.lower.checked) { znak = rnd(1,26,100); pass[k] = low[znak]; k++; }
if (pass_form.digit.checked) { znak = rnd(1,10,100); pass[k] = dig[znak]; k++; }
if (pass_form.simvol.checked) { znak = rnd(1,10,100); pass[k] = sim[znak]; k++; }
}
for (var i = 0; i < n; i++) {
s = rnd(1,k-1,100);
pswrd += pass[s];
}
document.pass_form.getback.value = pswrd;
}
function generate() {
if (pass_form.upper.checked||pass_form.lower.checked||pass_form.digit.checked||pass_form.simvol.checked)
{ gen_pass(); }
else { alert('Выберите тип символов!'); pass_form.upper.checked = true; }
}
</script>
Я пытался сделать по вашей инструкции выше, но у меня код перестал работать вообще, ошибку выдает.
Вопросик для своего понимания работы скрипта: если запустить его "в поток", через сколько он может пройти цикл на повторение его результата? Может неправильно выражаюсь - он будет генерировать без повторений результата?
Заранее спасибо!
Не хватает еще кнопки "Копировать в буфер обмена". Можете это сделать?