Hikvision HCNetSDK Ошибка 1: NET_DVR_PASSWORD_ERROR — неверный пароль
- Функция
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-адресу.
Частые вопросы (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.