Можно ли выполнить сравнение строк с учетом регистра с помощью Simple.Data? Я хочу проверить имя пользователя и пароль, и мне нужно сделать сравнение паролей чувствительным к регистру.
Как выполнить сравнение строк с учетом регистра с помощью simple.data
Ответы (1)
В настоящее время это невозможно сделать с помощью Simple.Data, ключевое слово COLLATE не поддерживается (при условии, что вы используете SQL Server).
Тем не менее, похоже, что вы «делаете это неправильно» в отношении обработки паролей. У вас должно быть значение «соли» для каждого пользователя, которое вы объединяете с введенным паролем в своем алгоритме хеширования. Поэтому вам нужно FindByUsername
запись, а затем проверить пароль в коде вашего приложения. Если вам действительно нужно, чтобы имя пользователя было чувствительно к регистру (что необычно), вы также можете выполнить это сравнение в коде.
person
Mark Rendle
schedule
22.08.2013
Спасибо, Марк, но мне просто любопытно, я не хочу, чтобы имя пользователя было чувствительно к регистру, а скорее пароль, это необычно? На большинстве сайтов есть эта функция: если мой пароль abc и я ввожу ABC, они не подтвердят его.
- person Afraz Ali; 23.08.2013
Да, пароли обязательно должны быть чувствительны к регистру, чтобы увеличить сложность, но база данных никогда не должна проводить сравнение, поскольку для дополнительной безопасности у вас должны быть хеш-соли для каждого пользователя.
- person Mark Rendle; 26.08.2013