Справочник системных ошибок и решений

Windows Server, Active Directory, 1С:Предприятие, СУБД, Linux, Cisco, MikroTik, Asterisk.

⚠️ Важная информация Все материалы, инструкции, команды и скрипты на сайте предоставлены исключительно в ознакомительных целях. Их применение может повлиять на работу операционной системы, программного обеспечения, баз данных, сетевого оборудования и других компонентов инфраструктуры. Перед выполнением действий создайте резервную копию и по возможности протестируйте изменения в безопасной среде. Пользователь самостоятельно оценивает риски и несет ответственность за результат. При отсутствии необходимых знаний обратитесь к квалифицированному ИТ-специалисту.

NET_DVR_PASSWORD_ERROR (1) IP-Телефония и СКУД

Hikvision HCNetSDK Ошибка 1: NET_DVR_PASSWORD_ERROR — неверный пароль

Обновлено: 24.08.2026 · Официальная документация ↗
  • Функция NET_DVR_Login_V40 возвращает -1, а NET_DVR_GetLastError() возвращает код 1.
  • В системном журнале NVR/IPC появляется событие User Authentication Failed (IP/Client).
  • После нескольких попыток устройство блокирует IP-адрес сервера интеграции на 15-30 минут.

1. Проверка структуры параметров аутентификации NET_DVR_USER_LOGIN_INFO

Убедитесь, что параметры логина заполнены без выхода за границы буферов и не содержат спецсимволов, ломающих кодировку ASCII:

NET_DVR_USER_LOGIN_INFO loginInfo = { 0 };
loginInfo.dwSize = sizeof(NET_DVR_USER_LOGIN_INFO);
strncpy(loginInfo.sDeviceAddress, "192.168.1.64", sizeof(loginInfo.sDeviceAddress));
loginInfo.wPort = 8000; // Стандартный порт управления SDK
strncpy(loginInfo.sUserName, "admin", sizeof(loginInfo.sUserName));
strncpy(loginInfo.sPassword, "Hikvision123+", sizeof(loginInfo.sPassword));
loginInfo.bUseAsynLogin = 0; // Синхронный режим

NET_DVR_DEVICEINFO_V40 devInfo = { 0 };
LONG lUserID = NET_DVR_Login_V40(&loginInfo, &devInfo);
if (lUserID < 0) {
    printf("Login failed! Error code: %d\n", NET_DVR_GetLastError());
}

2. Проверка статуса блокировки аккаунта (Account Lockout)

Если пароль введен неверно более 5 раз подряд, камера блокирует интерфейс. Проверьте статус через ISAPI:

curl -k -v --digest -u admin:Hikvision123+ "http://192.168.1.64/ISAPI/Security/users"

3. Проверка режима интеграционного протокола (ONVIF/ISAPI/CGI)

В камерах с прошивкой V5.5.0+ пароли для веб-интерфейса и протоколов интеграции (Integration Protocol) могут быть разделены. Перейдите в Configuration -> Network -> Advanced Settings -> Integration Protocol и проверьте пользователя SDK/ONVIF.

4. Сброс счетчика блокировки устройства

Выполните аппаратный перезапуск питания устройства или подождите 30 минут для сброса временного бана по IP-адресу.

💡 Практика специалистов: Если пароль содержит специальные символы (&, %, #, +), убедитесь, что они не экранируются при чтении из конфигурационных .ini/.env файлов до передачи в неуправляемую C-структуру sPassword.

Частые вопросы (FAQ)

Почему пароль подходит к веб-интерфейсу, но SDK возвращает ошибку 1?

В новых версиях прошивок Hikvision веб-интерфейс использует HTTPS/Digest, а SDK требует активации 'Hikvision-CGI' или 'ONVIF' пользователя в меню 'Integration Protocol', либо пароль содержит символы, обрезаемые структурой sPassword (лимит 32 байта).

Какая максимальная длина пароля поддерживается в структуре NET_DVR_USER_LOGIN_INFO?

Максимальная длина пароля составляет 32 символа. Использование более длинных паролей приведет к их усечению и постоянной ошибке аутентификации.

Как предотвратить блокировку учетной записи при автоматическом реконнекте?

Не вызывайте функцию NET_DVR_Login в бесконечном цикле без задержки. При возникновении ошибки 1 прерывайте попытки авторизации и сигнализируйте оператору.

Поддерживает ли SDK аутентификацию по сертификатам?

Да, для повышенной безопасности используется функция NET_DVR_Login_V40 с флагом byLoginMode = 2 и предварительной загрузкой SSL сертификатов через NET_DVR_SetSDKLocalCfg.

Полезные материалы
Рекомендуем