Генерация пароля средствами WordPress.

Наткнулся сейчас на весьма занятную функцию WP: wp_generate_password. Содержится она в файлике /wp-includes/pluggable.php Более подробно содержимое этого файлика рассмотрено в кодексе, но сама функция не расписана. Потому полез изучать код.
Функция генерирует пароли и имеет два входных параметра (второй не обязателен): количество знаков в пароле (integer) и использование спецсиволов в пароле (boolean).
Использование: wp_generate_password ( 10, true ) – генерирование десятизначного пароля со спецсимволами.
Возвращает, естественно, string.
Сама функция:

function wp_generate_password($length = 12, $special_chars = true) {
	$chars = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789';
	if ( $special_chars )
		$chars .= '!@#$%^&*()';

	$password = '';
	for ( $i = 0; $i < $length; $i++ )
		$password .= substr($chars, wp_rand(0, strlen($chars) - 1), 1);
	return $password;
}

Как работает wp_rand - искать не буду: суть ясна и так. 🙂

Запись опубликована в рубрике компьютерное с метками , . Добавьте в закладки постоянную ссылку.

4 комментария на «Генерация пароля средствами WordPress.»

  1. AngelOfFate говорит:

    просто и со вкусом )

  2. Dandr говорит:

    AngelOfFate, ага. Просто я наткнулся на применение этой функции со вторым параметром false. Естественно, не понял, что это за параметр – полез в кодекс. А там фиг. Пришлось лезть в код. 🙂

  3. иван говорит:

    А как можно отключить генерацию паролей при реге новых пользователей?

  4. Dandr говорит:

    @ иван, можно препарировать эту функцию и прописать пароль по умолчанию. Но это придётся делать после каждого обновления. Да и не совсем понимаю, зачем это нужно.

Добавить комментарий для иванОтменить ответ