Является ли регистр пароля чувствительным при передаче OCIAttrSet с помощью OCI_ATTR_PASSWORD?
Во фрагменте программы (C++) OCI я использую OCIAttrSet
с OCI_ATTR_PASSWORD
флаг для передачи (или установки) пароля для инициализации сеанса следующим образом:
success = OCIAttrSet (
ses,
OCI_HTYPE_SESSION,
(text *) password.c_str(),
password.length(),
OCI_ATTR_PASSWORD,
err
);
Последующее
success = OCISessionBegin (
svc,
err,
ses,
OCI_CRED_RDBMS,
OCI_DEFAULT
);
работает нормально, если пароль указан маленькими буквами. Если хотя бы один символ password
в верхнем регистре, OCISessionBegin
вернуть ошибку ORA-01017: invalid username/password; logon denied
,
Такое поведение отличается от любой обработки паролей, которую я видел в Oracle, потому что до сих пор считал, что они нечувствительны к регистру. Тем не менее, я не считаю это поведение где-то задокументированным. Итак, это ожидаемое поведение (а я не могу найти документацию) или происходит что-то еще?
1 ответ
Пароли пользователей Oracle не учитывали регистр, до версии 11g - теперь вы должны правильно понять регистр.