/
vladislavts
/
gcppmsp
Обзор
Документация
Войти
/
vladislavts
/
gcppmsp
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
prod
src/Services/GpcPasswordGenerator/SevenPasswordGenerator.php
42 строки
1 KB
vladislav_ts@list.ru
+ пасс генератор сервис. + смена паролей всем
10 сен 2024, 20:17
10 сен 2024, 20:17
0747c90
Код
Авторство
О чём код?
<?php namespace App\Services\GpcPasswordGenerator; class SevenPasswordGenerator implements PasswordGeneratorInterface { public function generatePass(int $length = 8, string $availableSets = 'luds') : string { $symbols = []; $password = ''; $str = ''; if (strpos($availableSets, 'l') !== false) { $symbols[] = 'abcdefghjkmnpqrstuvwxyz'; } if (strpos($availableSets, 'u') !== false) { $symbols[] = 'ABCDEFGHJKMNPQRSTUVWXYZ'; } if (strpos($availableSets, 'd') !== false) { $symbols[] = '23456789'; } if (strpos($availableSets, 's') !== false) { $symbols[] = '!@$%&*?'; } foreach ($symbols as $symbol) { $password .= $symbol[array_rand(str_split($symbol))]; $str .= $symbol; } $str = str_split($str); for ($i = 0; $i < $length - count($symbols); $i++) { $password .= $str[array_rand($str)]; } $password = str_shuffle($password); return $password; } }