Функция генерации паролей повышенной сложности
- <?php
- /* Функция генерации паролей повышенной сложности */
- function passwdGen($minLength = 8, $maxLength = 12, $maxSymbols = 2)
- {
- $symbolCount = 0;
- srand((double)microtime() * 1000003);
- for ($i = 0; $i < mt_rand($minLength, $maxLength); $i++)
- {
- do
- {
- $char = mt_rand(33, 126);
- $symbolCount += $isSymbol = (!in_array($char, range(48, 57)) && !in_array($char, range(65, 90)) && !in_array($char, range(97, 122)));
- if ($symbolCount <= $maxSymbols || !$isSymbol)
- {
- break;
- }
- }
- while (true);
- $passwd = sprintf('%s%c', isset($passwd) ? $passwd : NULL, $char);
- }
- return $passwd;
- }
- /* пример */
- echo htmlspecialchars(passwdGen()); // \QzS@<GW9u>#ypEfvgDh
No comment.