Издревле сложилось, что в Битрикс для создания случайного пароля пользователя (если он не вводит его сам) используется randString. Простая функция, выдающая набор символов. Но эта функция абсолютно не учитывает политику безопасности - что, например, для определенной группы пользователей, куда мы добавляем пользователя, должно быть требование к паролю (например, наличие символов пунктуации).
Я подсмотрел в ядре кусок кода, и оформил его в простую функцию.
echo CMainUtils::randimPassword(array(1, 2));
//6Gv#r7~AZl_0 (пароль выдал сложный, так как группа админов)
echo CMainUtils::randimPassword(array(2));
//zF44YwCy (пароль простой, так как группа ереван)
echo CMainUtils::randimPassword(2);
//R0qK5jP0 (аналогично)
В критически важных местах, все же лучше не использовать randString. Не того полета птица. В современном БУСе (main > 15.0.11, если не путаю ), есть более качественный ГСЧ (\Bitrix\Main\Security\Random) которым и рекомендуется пользоваться в "ответственных" местах (e.g. генерация секретов). Т.е. как-то так с его использованием:
Группы на сайте создаются не только сотрудниками «1С-Битрикс», но и партнерами компании. Поэтому мнения участников групп могут не совпадать с позицией компании «1С-Битрикс».