Про восстановление (сброс) утраченного пароля для входа в конфигурацию 1С:Предприятие 8.2 в интернете написано немало. Простой поиск в Яндексе выдает тысячи ссылок, по которым обещается гарантированный сброс пароля, или же вообще вход в базу без пароля. Большинство из описанных способов сводятся к редактированию файла базы данных *.1CD в HEX редакторе и замене имени таблицы users.usr / v8users на любое другое. В результате чего, при запуске в 1С данной конфигурации платформа считает что список пользователей базы не определен и позволяет зайти в базу без пароля. Однако, при этом теряется ваш список пользователей. Что же делать, если есть БД 1С Предприятия и необходимо восстановить (или же "обнулить" пароль забывчивого пользователя). Для начала приведем несколько полезных ссылок, в том числе и на наши статьи:
- Восстановление утерянного пароля к 1С 8.1 / 8.2 - в статье описывается несколько способов сброса пароля, в том числе и восстановления пароля по его SHA-1 хешу.
- Тема обсуждения данной статьи на нашем форуме.
- Алгоритм дешифровки BLOB-поля DATA в таблице v8users
- Краткое описание формата файлов *.1CD (файловых баз 1Сv8)
- Tool_1CD. Программа просмотра файлов баз *.1CD (1Сv8.x) - Программа позволяет увидеть структуру таблиц и полей файловой базы 1Cv8, просмотреть содержимое таблиц. Дополнительно можно сохранить в файл основную конфигурацию, конфигурацию базы данных и конфигурации поставщика, просмотреть размер внутренних файлов, выгрузить содержимое таблиц в XML. Альфа-версия программы позволяет также редактировать записи.
Если кто-то был внимателен, то заметил выделенную жирным фразу. Теперь замечательная утилита Tool_1CD от awa позволяет редактировать 1CD. Чем мы непременно воспользуемся при восстановлении паролей. Допустим, что у нас есть база с тремя пользователями: Бухгалтер, Директор и Менеджер. Откроем ее при помощи Tool_1CD:
Как мы видим, утилита расшифровала BLOB поле DATA в таблице v8users и показала нам SHA1 хеш пароля пользователя Директор в base64-виде - QL0AFWMIX8NRZTKeof9cXsvbvu8= (естественно, вы можете попытаться расшифровать его с помощью любого сервиса подбора sha1 хещей, для данного примера сделать это крайне легко, т.к. он тестовый). Представим себе, что сделать этого нам не удалось, однако нам необходимо обеспечить пользователю Директор доступ к базе, например, с пустым паролем с возможностью последующей его смены. Делаем следующее, включаем режим редактирования таблиц:
Сохраняем содержимое поля DATA в файл. В рассматриваемом примере он будет носить имя 0ed3bc84-7a1d-4f3b-8142-47c77c02f5c5_DATA:
После чего мы можем отредактировать его в обычном блокноте:
Вспоминаем, что SHA1 хеш пустой строки - это da39a3ee5e6b4b0d3255bfef95601890afd80709 или же 2jmj7l5rSw0yVb/vlWAYkK/YBwk= , заменим в полученном файле хеш пароля пользователя на хеш пустой строки и загрузим его в базу подтвердив изменения при сохранении. В результате у нас получится что-то вроде:
Таким образом, используя только утилиту Tool_1CD с возможностью редактирования нам удалось сбросить (обнулить) забытый пароль пользователя 1С 8.2.
p.s. Данный вариант далеко не единственный, так, к примеру, на infostart'е есть тема Восстановление административного доступа к файловой базе данных, в ней представлен простой инструмент, который позволяет получить административный доступ к файловой базе 1С, если он, по какой-либо причине, был утерян.
p.p.s. Ну и естественно перед выполнением любых операций с информационной базой необходимо сделать ее резервную копию, думаю, про это никому лишний раз говорить не нужно.