Сейчас: 14:02:20   25-го апреля 2024 г.
34
133

Скрипт генератора паролей

Предлагаем Вам воспользоваться простым генератором паролей, который позволит Вам генерировать случайные пароли заданной длины. При необходимости Вы можете скачать данный скрипт генерации паролей для последующей установки на свой сайт.


Данный скрипт генерации паролей написан на JavaScript и позволяет создавать пароли заданной длины (в нашем случае от 4 до 20 символов) и состоящий из заданных символов (строчные буквы, заглавные буквы и цифры).


Для генерации пароля воспользуйтесь формой, расположенной ниже:

Если Вам необходим данный генератор паролей на своем сайте, то предлагаем Вам воспользоваться следующим скриптом, который необходимо будет поместить на Вашей страничке:

JavaScript код:
<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=5j<=20j++) { 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(xyz) {
 var 
num;
 do {
    
num parseInt(Math.random()*z);
    if (
num >= && num <= y) break;
 } while (
true);
return(
num);
}

function 
gen_pass() {
var 
pswrd '';
var 
znaks;
var 
0;
var 
document.pass_form.numbers.value;
var 
pass = new Array();
var 
rnd(30,80,100);
for (var 
0wr++) {
    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 
0ni++) {
    
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 генератор паролей. Код скрипта был упрощен, а также в генератор были добавлены спецсимволы.

Дата создания: 00:16:54 13.10.2011 г.
Дата обновления: 23:08:53 21.09.2013 г.
Посещений: 18087 раз(а).

Комментарии посетителей (12 шт.):
Борис
-1
# 3848
(06:49:04  24.04.2017 г.)

Здравствуйте! Подскажите, пожалуйста, что нужно изменить в данном коде так, чтобы пользователю не было выбора щелкать на галочки, чтобы он сразу нажал кнопку Генерировать, а пароль уже генерировался и из больших букв, и из маленьких, и из цифр, из 20 символов? Спасибо заранее.
Ответить

Administrator
1
# 3849
(20:51:22  24.04.2017 г.)

Удалил все лишнее из кода и вот что получилось:
<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>
Ответить

Борис
0
# 3855
(06:55:45  25.04.2017 г.)

Еще один вопрос, если можно. Подскажите, пожалуйста, как обычную кнопку "Генерировать" заменить на картинку? Почитал информацию. По-всякому попробовал. Не выходит. Заменил <input type="button" value="Генерировать" onClick="gen_pass()"></form> на <input type="image" src="..." name="bottom" onClick="gen_pass()">. Нажатие срабатывает, но пароль тут же исчезает из поля Пароль и почему-то копируется в строку браузера. Как это исправить?
Ответить

Administrator
0
# 3858
(21:53:39  25.04.2017 г.)

Используйте <img src="..." onClick="gen_pass()">
Ответить

Алексей
0
# 4218
(01:06:10  08.01.2018 г.)

Здравствуйте. Подскажите, пожалуйста. Как сделать, чтобы выводилось сразу на экран хотя бы 100 паролей. Заранее благодарен!
Ответить

Administrator
0
# 4219
(18:41:26  08.01.2018 г.)

Замените поле <input name="getback" size="30" type="text" value=""> на <textarea name="getback"></textarea>
Вместо: document.pass_form.getback.value = pswrd;
используйте: document.pass_form.getback.value += pswrd + '\n';
Ну и поместите функцию генерации gen_pass() в цикл: for (i=1; i<=10; i++) gen_pass();
Ответить

Максим
0
# 4309
(13:52:10  13.06.2018 г.)

Подскажите, как сделать, чтобы можно было также генерировать другие символы (@, !, &)?
Ответить

shpioner
0
# 4651
(11:59:51  14.05.2020 г.)

<script type="text/javascript">
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>
Ответить

Евгений
0
# 4347
(20:56:42  25.09.2018 г.)

Здравствуйте. Подскажите, пожалуйста. Как сделать, чтобы выводилось по заданному числу количество паролей? Чтобы пользователь мог сам выбрать количество?
Я пытался сделать по вашей инструкции выше, но у меня код перестал работать вообще, ошибку выдает.
Ответить

Administrator
0
# 4348
(22:27:08  25.09.2018 г.)

Чтобы не запихивать большой код в комментарии, выложил скрипт на нашем форуме в теме Скрипт генератора сразу нескольких паролей
Ответить

Алекс
0
# 4888
(10:03:25  25.01.2022 г.)

Доброе утро.
Вопросик для своего понимания работы скрипта: если запустить его "в поток", через сколько он может пройти цикл на повторение его результата? Может неправильно выражаюсь - он будет генерировать без повторений результата?
Заранее спасибо!
Ответить

Макс
0
# 5047
(23:46:05  19.02.2024 г.)

Отличный скрипт!
Не хватает еще кнопки "Копировать в буфер обмена". Можете это сделать?
Ответить

Закрыть
Ваше имя:
878 + 3 =
Добавить комментарий:
Ваше имя:
878 + 3 =

Перед публикацией все комментарии проходят обязательную модерацию!

Если Вы хотите задать какой-либо вопрос, то сделайте это на нашем форуме.
Таким образом, Вы сможете быстрее получить ответ на интересующий Вас вопрос.
Посетителей онлайн: 14

Какой браузер Вы используете?