Генерация паролей 1С 8.3 (код, инструкция)

22.07.16

Администрирование - Пароли

Инструкция по самостоятельному написанию генерации пароля в 8.3. Может кому-нибудь пригодится, т.к. весь материал на ИС за монетку а делать-то на самом деле нечего

Для жадных и ленивых, как я!

Всё очень просто

Цитата из справки 1С
"Длина не менее 7 символов; Содержит не менее 3-х типов символов из перечисленных ниже:
    -    Заглавные буквы;
    -    Строчные буквы;
    -    Цифры;
    -    Специальные символы;
    -    Не совпадает с именем пользователя;
    -    Не является последовательностью символов."

Для примера я использовал только заглавные и строчные буквы латинского алфавита и цифры

Процедура Пуск()
ГСЧ = Новый ГенераторСлучайныхЧисел();
//здесь в скобках можно передать число (инициализацию последовательности случайных чисел определённым числом), а можно и не передавать (генератор случайных чисел инициализируется временем работы операционной системы с момента старта)
//Что всё это значит?
//Это значит, что для ГСЧ = Новый ГенераторСлучайныхЧисел(2016) будет своя уникальная последовательность случайных чисел и она статична.
//Если использовать код, представленный ниже, то для 2016 это последовательность "sfBjgZR" и такая последовательность будет постоянна;
//Так же для уникальности я всегда использую ТекущаяУниверсальнаяДатаВМиллисекундах(), но, повторюсь, его можно не указывать

Пароль = "";
Неиспользуемые = ":<=>?@;[\]^_`"; //мои исключения
Пока СтрДлина(Пароль) < 7 Цикл
    НекийСимвол = Символ(ГСЧ.СлучайноеЧисло(48, 122));
//Сначала получаем число из диапазона между 48 и 122
//И получаем его символ по ASCII (см.таблицу)
    Если Найти(Неиспользуемые, НекийСимвол) > 0 Тогда//проверка на исключения
        Продолжить;
    КонецЕсли;
    Пароль = Пароль + НекийСимвол;
КонецЦикла;        
Сообщить(Пароль);

КонецПроцедуры//Пуск()

 

Вступайте в нашу телеграмм-группу Инфостарт

генерация пароля пароль паролей 1С 8.3

Вы можете заказать платную адаптацию этой статьи под ваши задачи на «Бирже заказов».

  • 0% комиссии — оплата напрямую исполнителю;
  • Исполнители любого масштаба — от отдельных специалистов до команд под проект;
  • Прямой обмен контактами между заказчиком и исполнителем;
  • Безопасная сделка — при необходимости;
  • Рейтинги, кейсы и прозрачная система откликов.

См. также

Пароли 1С 8.3 1С 8.5 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Зарплата и Управление Персоналом 3.x 1С:Управление нашей фирмой 3.0 Россия Абонемент ($m)

Универсальное расширение для автоматического поиска пользователей без пароля. С помощью регламентного задания находит такие учетные записи, у которых не установлен пароль, и при первом входе пользователя запрашивает установить пароль.

1 стартмани

10.09.2026    321    0    SoftSide    0    

0

Пароли Разработчик Пользователь 1С 8.3 Россия Абонемент ($m)

Расширение для конфигураций 1С для хранения паролей.  Админ / разработчик / пользователь меняют пароли в базах, а потом успешно их забывают, или кто-то из сторонних разработчиков или коллег поменял пароль, а вас не известил или не положил в какую-нибудь базу знаний, особенно головная боль, если таких баз много или под одной учеткой работают сразу много сотрудников. Расширение решает эту задачу: оно ведёт актуальный реестр учётных данных пользователей вне базы - в Google Таблице и/или в файле Excel. Реестр обновляется сам, в момент смены пароля или логина, без участия администратора. Будет полезно администраторам, которые сами выдают и меняют пароли пользователям; специалистам франчей и ИТ-отделам, обслуживающим несколько баз. Небольшим компаниям, где нет корпоративного менеджера паролей, но нужен контролируемый доступ к учётным данным.

1 стартмани

31.08.2026    461    2    Otlichnik90    0    

1

Пароли Системный администратор 1С 8.3 Бесплатно (free)

Реальная история: собственник за день распустил весь ИТ-отдел, пароля от SQL не осталось. Разбираю, где 1С хранит пароль СУБД (1CV8Clst.lst), почему он извлекается, кто до него дотянется — и как закрыть дыру. Плюс обработка, которая проверит ваш кластер за минуту.

06.08.2026    2934    nedomolkov.ivan    24    

9

Администрирование СУБД Пароли Системный администратор 1С 8.3 1С:Розница 2 1С:Управление производственным предприятием Абонемент ($m)

Пароль пользователя СУБД лежит в 1CV8Clst.lst обратимо: кто читает папку srvinfo - достаёт пароли SQL всех баз кластера, минуя права 1С. Обработка показывает, у каких баз пароль извлекается, помечает слабые и выдаёт план защиты. К СУБД не подключается, ничего не пишет - только читает файл.

10 стартмани

06.08.2026    1696    16    nedomolkov.ivan    0    

7

Пароли Разработчик 1С:Предприятие 8 Россия Абонемент ($m)

Как можно перенести пароли пользователей из одной базы в другую. Как установить нужный пароль списку пользователей.

1 стартмани

04.05.2026    948    3    DenShilyaev    0    

3

Пароли Разработчик 1С 8.3 1С:Бухгалтерия 3.0 1С:Управление нашей фирмой 3.0 Абонемент ($m)

Представляю обработку для изменения политики паролей для одного или нескольких пользователей с использованием встроенного в платформу функционала по управление политикой паролей из встроенного языка.

1 стартмани

09.04.2026    1449    4    Vladislav39609    3    

5
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. Ovrfox 14 22.07.16 15:42 Сейчас в теме
Не знаю, как Вам , но я не люблю многозначности.
Намного проще примерно такой код с аналогичной функциональностью
Процедура Пуск()
ГСЧ = Новый ГенераторСлучайныхЧисел();

Пароль = "";
ИспользуемыеСимволы = ":<=>?@;[\]^_`01243456789AQWERTYUIOPASDFGHJKLZXCVBNMqwertyuiopasdfghjklzxcvbnm";
Н = СтрДлина(ИспользуемыеСимволы );
Пока СтрДлина(Пароль) < 7 Цикл
    НекийСимвол = Подстрока(ИспользуемыеСимволы ,(ГСЧ.СлучайноеЧисло(1, Н)),1);
    Пароль = Пароль + НекийСимвол;
КонецЦикла;        
Сообщить(Пароль);

КонецПроцедуры//Пуск()
Показать
voneska7; METAL; matashin; ErrorEd88; sapervodichka; Емельянов Алексей; +6 – Ответить
2. Ovrfox 14 22.07.16 15:45 Сейчас в теме
+ В догонку. И еще мне постоянно не везет. Не хватало, чтобы у меня еще цикл назначения пароля выполнялся несколько секунд. ;)
3. a_titeev 35 22.07.16 17:56 Сейчас в теме
Из практики: Исключать надо больше - похожие символы - 1, l, 0, O и т.п.
METAL; zqzq; alex-l19041; dj_serega; odin-7610; +5 – Ответить
4. odin-7610 27.07.16 08:34 Сейчас в теме
(3) a_titeev, +100500 постоянно проблемы с такими ситуациями
Емельянов Алексей; +1 – Ответить
5. dmt 69 27.07.16 08:45 Сейчас в теме
Это те самые пароли, которые на стикерах к мониторам приклеивают? :-)
NazarovV; +1 – Ответить
6. pumbaE 27.07.16 16:54 Сейчас в теме
А зачем для 1с выдумывать пароли с разным регистром букв, если для авторизации в самой 1с это не важно? Все равно все приводит при проверке к верхнему регистру.
SerVer1C; Артано; a_a_burlakov; +3 –2 Ответить
7. dj_serega 396 27.07.16 17:32 Сейчас в теме
(6) pumbaE, Откуда инфа? :) Поделитесь, если не секрет :)
10. pumbaE 28.07.16 09:06 Сейчас в теме
(7) dj_serega, в таблице users есть два поля, в которых два sha хранятся от паролей, второе это "Врег(Парол)". Проверяется очень просто, ставите пароль с верхним регистром, пробуете войти с теми же буквами только в нижнем регистре и в без проблем заходите.
cargobird; +1 – Ответить
12. a_a_burlakov 292 28.07.16 11:01 Сейчас в теме
(10) pumbaE, надо же, действительно!
14. cargobird 324 29.07.16 14:16 Сейчас в теме
(10) pumbaE, проверил, действительно)
На прошлой работе пару лет вводил пароль с двумя заглавными буквами в двух словах))
8. v3rter 27.07.16 17:57 Сейчас в теме
Я бы ещё исключил J, G и Q - в моей практике в них тоже путаются.
9. viptextil 42 28.07.16 08:45 Сейчас в теме
Вообще-то лучше не исключать неиспользуемые символы, а задать строку ДОПУСТИМЫХ символов и с помощью ГСЧ выбирать из нее.
11. nagaitseff 183 28.07.16 09:29 Сейчас в теме
А можно так, сделать обработку для генерации паролей

КоличествоПаролей = 0
ВвестиКоличество(КоличествоПаролей); //ввели количество паролей

ДлинаПаролей = 0;
ВвестиЧисло(ДлинаПаролей); // ввели длину паролей

//строка из которой будем брать символы для паролей
Алфавит = "1234567890_abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUV­WXYZ"; //символы для генерации паролей

ГСЧ = Новый ГенераторСлучайныхЧисел(); // создаем генератор случайных чисел
ВсеПароли = ""; //в этой строке накапливаем все пароли

//организуем цикл нужное количество раз
Для А = 1 По КоличествоПаролей Цикл
	НовыйПароль = ""; // сюда накапливаем текущий пароль
	//цикл по требуемому количеству символов
	Для Б = 1  По ДлинаПаролей Цикл
		Индекс = ГСЧ.СлучайноеЧисло(1, (СтрДлина(Алфавит));
		НовыйПароль = НовыйПароль + Сред(Алфавит, Индекс, 1);
	КонецЦикла;
	ВсеПароли = ВсеПароли + НовыйПароль + Символы.ПС;
КонецЦикла;


ОткрытьЗначение(ВсеПароли); // покажем пользователю все пароли
Показать


Тем самым это расширяет возможности использования символов, длину и количество паролей выбирает пользователь. Удобно.

Информация взята с сайта Уроки 1с. Это не реклама.
13. v3rter 28.07.16 11:24 Сейчас в теме
Если задаться целью генерировать качественные пароли, то генерируем случайный пароль на три символа короче, отдельно генерируем один символ в верхнем регистре, одну цифру и один спецсимвол и вставляем каждый из них в случайную позицию промежуточного результата. Или вообще определяем минимальное количество символов из каждой группы.

Кстати, 1С не запрещает использование пробела в качестве парольного символа, о чем любители брутфорса могут и не догадаться. Да и при использовании сложного пароля, один пробел в середине не вызовет особых неудобств, считаю.

А еще есть русские буквы )
Емельянов Алексей; dj_serega; serg_infostart; +3 – Ответить
15. mootriskoff 31.07.16 07:17 Сейчас в теме
Из опыта создания паролей изпользую следующий метод:
Берутся три случайный цифры, берутся первые три буквы из слов предложения для запоминания, которое может состоять из трёх и более случайных слов и любой символ синтаксиса.
Пример: 303 Новых Кашалота Помыли Хомут ! - знак восклицания, например. Пароль будет выглядеть так: 303YjdRfiGjv{jv!
16. nickVZ 10 20.09.16 01:13 Сейчас в теме
С одной стороны, оно так: человек человеку друг, коллега, и змея подколодная....
С другой - надо в планировщик задание на запуск от имени пользователя воткнуть...
С третьей, таблица Users (условное название) и подменить можно...
Но за мысль спасибо, схомячил.
17. klel@list.ru 26.10.18 11:38 Сейчас в теме
Спасибо за хорошую статью, взял пример Вашего кода, буду делать ;)
18. dour-dead 273 15.06.19 18:56 Сейчас в теме
ПользователиСлужебный.СоздатьПароль(ПользователиСлужебный.ПараметрыПароля(6, Истина))
toliman; VVi3ard; user712340_lost-s0u1; METAL; cheburashka; DinJak; SAGerasimov; marilb; slvovich; Gendelf; ilya017; Artios; Hexed; DmitrySinichnikov; avasl; angur; VKislitsin; Famza; KirinaAS; +19 – Ответить
19. SerVer1C 1143 22.04.24 14:44 Сейчас в теме
в питоне чуть проще:
import random
chars = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456­789!@#$%^&*()_+-=~:;<>'
print(''.join([chars[random.randint(0, len(chars)-1)] for _ in range(16)]))
Для отправки сообщения требуется регистрация/авторизация