Исходники PassGen - Форум Cheat-Master.ru
  • Страница 1 из 1
  • 1
Модератор форума: Sanoxxx, Alowir  
Исходники PassGen
Sawer Дата: Понедельник, 18.06.2012, 01:16 | Сообщение # 1
Новичок
Сообщений: 26
Статус: Offline
Думаю ничего объяснять, ибо все и так понятно.
А вот собственно и сам исходник:
Code
<?
error_reporting(7);
// Конфигурация
$clcolor=Array(
1 => "#339900",// Цвет улучшений чейнжлога
2 => "#006699",// Цвет внимания чейнжлога
3 => "#990000" // Цвет ухудшения чейнжлога
);
$beta=0;// Тестовая версия:1-да/0-нет
$ver=1.1;// Версия программы числом
if($beta==1)$ver.=" BETA";
$version="(ver. $ver)";// Версия программы в скобках с комментами
$copyright="<center><b><a href=\"http://xz-team.info/tools/passgen\">Powered by Xz-PassGen</a> (c) $ver</b></center>"; //Копирайт "Powered by FreeBieGen"
//==========
function menu($link,$text,$separator){// Функция показа меню
return "<b><a href=\"$link\">$text</a></b> $separator";}
$menu=menu("index.php?page=jsgen","Генератор JS","| ").menu("index.php?page=phpgen","Генератор PHP","| ").menu("index.php?page=faq","ЧаВо","| ").menu("index.php?page=changelog","Лог изменений","| ").menu("index.php?page=about","О программе",false); //Меню
echo $menu;// Выводим меню
echo "\n<hr>";
switch($_GET["page"]){
case "phpgen":
echo "<b>Генератор паролей [PHP] $version</b><br><br>";
echo'<form action="" method="post">
<table width="300" cellpadding="0" cellspacing="0">
<tr>
<td align="left" style="padding:2px;"><b>Длина пароля: </b></td>
<td align="right" style="padding:2px;">
<select name="len" style="border:1px solid #FFFFFF;">
<option value="5">5 символов</option>
<option value="8">8 символов</option>
<option value="16">16 символов</option>
<option value="24">24 символа</option>
<option value="32">32 символа</option>
</select>
</td>
</tr>
<tr>
<td align="left" style="padding:2px;"><b>Знаки (!"№;%:?*): </b></td>
<td align="right" style="padding:2px;"><input name="simbol" type="checkbox" value="1"  checked="checked"/></td>
</tr>
<tr>
<td align="left" style="padding:2px;"><b>Верхний регистр: </b></td>
<td align="right" style="padding:2px;"><input name="up_r" type="checkbox" value="1" checked="checked"/></td>
</tr>
<tr>
<td align="left" style="padding:2px;"><b>Нижний регистр: </b></td>
<td align="right" style="padding:2px;"><input name="down_r" type="checkbox" value="1"  checked="checked"/></td>
</tr>
<tr>
<td align="left" style="padding:2px;"><b>Цифры в пароле: </b></td>
<td align="right" style="padding:2px;"><input name="cf" type="checkbox" value="1"  checked="checked"/></td>
</tr>
<tr>
<td style="padding:2px;" colspan="2"><input type="submit" value="Сгенерировать пароль" /></td>
</tr>
</table>
</form>';
if(isset($_POST["len"])):
$code = "";
if(isset($_POST["simbol"])) $code .= "!№;%:?*()_+=-@#$^&{}[]|/>\<";
if(isset($_POST["up_r"])) $code .= "QWERTYUIOPASDFGHJKLZXCVBNM";
if(isset($_POST["down_r"])) $code .= "qwertyuiopasdfghjklzxcvbnm";
if(isset($_POST["cf"])) $code .= "1234567890";
if(strlen($code) > 1)
{$len = (intval($_POST["len"]) > 32) ? 5 : intval($_POST["len"]);
$cl = strlen($code)-1;
$password = "";
while($len--) $password .= $code[rand(0,$cl)];      
echo'<b>Сгенерированный пароль: </b><BR>
<input type="text" size="37" value="'.$password.'">';

}else{
echo "<center><font color=\"red\">Вами не был выбран ни один параметр генерации, пожалуйста выберите его.</font></center>";
}endif;
break;
case "jsgen":
echo "<b>Генератор паролей [JS] $version</b><br><br>";
?>
<script language="JavaScript">
with (document) {
   writeln('<form name=passgen>' +
   '<input name=upper type=checkbox value=0> <b>Заглавные буквы</b><br>' +
   '<input name=lower type=checkbox value=1> <b>Маленькие буквы</b><br>' +
   '<input name=digit type=checkbox value=2> <b>Цифры</b><br><br>Число символов в пароле (3-30): ' +
   '<select name=numbers><option value=3 selected>3</option>');
   for (j = 4; j <= 30; j++) { writeln('<option value=' + j + '>' + j + '</option>'); }
   writeln('</select><br><br>' +
   '<input type=button value=Генерировать ... onClick=generate()>   Ваш пароль: ' +
   '<input name=getback size=40 type=text value=""></form>');
}
// массивы символов
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');
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');
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 genArray() {
   var pwd = '';
   var res, s;
   var k = 0;
   var n = document.passgen.numbers.value;
   var pass = new Array();
   var w = rnd(30,80,100);
   for (var r = 0; r < w; r++) {
    if (passgen.upper.checked) { res = rnd(1,26,100); pass[k] = upp[res]; k++; }
    if (passgen.lower.checked) { res = rnd(1,26,100); pass[k] = low[res]; k++; }
    if (passgen.digit.checked) { res = rnd(1,10,100); pass[k] = dig[res]; k++; }
   }
   for (var i = 0; i < n; i++) {
    s = rnd(1,k-1,100);
    pwd+= pass[s];
   }
   document.passgen.getback.value = pwd;
}

// --------------------------------------------------------------------------------------------------------------------------------------------  ------------------
function generate() {
   if (passgen.upper.checked || passgen.lower.checked || passgen.digit.checked)  { genArray(); }
   else { alert('Должен быть выбран тип символов!'); passgen.upper.checked = true; }
}
</script>
<?
break;
case "faq":
echo'<b><abbr title="Часто задаваемые вопросы" style="cursor:help;">ЧаВо</abbr> по генератору никнеймов</b><br><br>';
echo "<table border=1 style=\"border:1px black;\"><td>";
echo "<b>Легенда:</b><br><b>Q</b> - question (вопрос)<br>\n<b>A</b> - answer (ответ)";
echo "</td></table>";
echo '
<b>Q</b>: Как пользоваться генератором паролей?<br>
<b>A</b>: Пользоватья нашим генератором очень просто. Для начала выберите необходимую версию генератора в меню, на данный момент их две: PhpPassGen и JSPassGen. На страницы генерации поставте галочки напротив необходимых вам символов для генерации и выберите количество знаков в пароле, далее кликните на кнопку для генерации пароля, которая находится ниже.
<br><br>
<b>Q</b>: В чем отличие между PHP и JS версиями?<br>
<b>A</b>: Отличие между этими двумя версиями заключается в следующем: генерация пароля в версии PHP осуществляется посредством обработки PHP срипта сервером, а в JS версии генерация осуществляется посредством обработки JS скрипта браузером, т.е. генерация  осуществляется на компьютере пользователя, который выбрал генерацию скриптом JS.
<br><br>
<b>Q</b>: Это окончательная версия генератора или он еще будет дорабатываться?<br>
<b>A</b>: Это неокончательная версия, поэтому генератор будет улучшаться с каждой новой версией.
<br><br>';
break;
case "changelog":
echo "<b><abbr title=\"Лог изменений\" style=\"cursor:help;\">ChangeLog</abbr> генератора паролей.</b><br><br>";
echo "<table border=1 style=\"border:1px black;\"><td>";
echo "<b>Легенда:</b><br><font color=\"$clcolor[1]\">[+]</font> - плюсы/добавлено<br>\n<font color=\"$clcolor[3]\">[-]</font>  - минусы/убрано<br>\n<font color=\"$clcolor[2]\">[*]</font> - внимание";
echo "</td></table>";
echo "<b>[FreeBieGen 1.1]</b><br>
<font color=\"$clcolor[1]\">[+]</font>Были исправлены некоторые незначительные ошибки в коде обоих генераторов.<br>
<font color=\"$clcolor[1]\">[+]</font>Слияние двух генераторов успешно завершено.<br>
<font color=\"$clcolor[2]\">[*]</font>Начато слияние двух версий генераторов паролей в один полноценный сервис.<br>
<b>[FreeBieGen 1.0]</b><br>
<font color=\"$clcolor[1]\">[+]</font>Написан генератор паролей на JS.<br>
<font color=\"$clcolor[2]\">[*]</font>Начата работа над генератором паролей JS.<br>
<font color=\"$clcolor[1]\">[+]</font>Написан генератор паролей на PHP.<br>
<font color=\"$clcolor[2]\">[*]</font>Начата работа над генератором паролей PHP.<br>
";
break;
case "about":
echo "<b>Генератор паролей $version</b><br><br>";
echo "Над программой работал <a href=\"http://xz-team.info\">RuFude32</a>.<br>Исходный код генератора открыт.<br>(c) 2009-2012 Все права защищены.<br><p align=\"right\">PassGen $ver (c) 2010-2012</p>";
break;
default:
echo"<b>Приветствие!</b><br><br>";
echo"Добро пожаловать в Онлайн Генератор паролей!\n<br>\nПожалуйста,выберите одну из вышеперечисленных в меню опцию.";
break;
}
echo $copyright; // Выводим копирайт
?>

Пример работы: http://xz-team.info/tools/passgen/
Переделывайте код на свое усмотрение
ЗЫ от +сика не откажусь biggrin


Сообщение отредактировал Sawer - Понедельник, 18.06.2012, 08:34
shadowter Дата: Четверг, 09.08.2012, 05:20 | Сообщение # 2
Новичок
Сообщений: 27
Статус: Offline
Это что то типо генератора радномных цифр?:D

Pcuxoz...
  • Страница 1 из 1
  • 1
Поиск: