Потребовалось мне для задач обмена данными с базой MySQL создавать пользователей и назначать им пароли. Пароли должны были содержать определенные наборы символов по определенному алгоритму. Сгенерированный пароль должен выдаваться пользователю в pin-конверте, а вот хэш его должен отправляься в базу.
Немного порывшись в интернете нашел обработку, которая собственно и формирует хэш, на основании введенного пароля (огромное спасибо автру данного труда, так как времени на его реализацию у самого не было, вот только, к сожалению, я даже не помню - где я нашел эту обработку ((( ). Генерацию самого пароля по быстрому набросал сам. Может быть кому-нибудь данная обработка пригодится и сэкономит время.
В обработке настраивается:
- длина пароля - от 1 до 99 знаков (ограничена типом реквизита - число(2))
- язык символов - только латиница, только русский, латиница и русский
- непосредственно сами используемые символы (цифры, строчные и заглавные буквы, спецсимволы, есть предопределенный набор знаков, который может быть интерактивно изменен пользователем)
- алгоритмы формирования пароля (Обязательное наличие прописной буквы, обязательное наличие спецсимвола)
- режим "простого пароля" - пароль всегда начинается с заглавной буквы и содержит один спецсимвол
При использовании обработки в составе конфигурации возможна генерация паролей из других объектов конигурации путем вызова функции ГенерацияПароляИзВнешнихИсточников(мДлинаПароля, мЯзыкПароля, мПростойПароль)