Я так понимаю, что возвращаемое значение является строкой. Во многих системах символ '\'
обозначает символ команды, например, "\n"
для новой строки.
Чтобы иметь символ '\'
для отображения в строке, вы должны поместить "\\"
в строку. Я подозреваю, что ваше поле базы данных является строкой, поэтому оно добавляет дополнительный символ '\'
, чтобы следующий код символа Unicode отображался правильно.
На ум приходят два момента:
Вы уверены, что храните хешированный пароль?
Обычно вы сравниваете значения хешированного / зашифрованного пароля без обратного преобразования.
edit
Вы правы, проверив, Access не появляется, чтобы позволить вам сохранить двоичное поле. Хешированный пароль будет двоичным, может ли быть проблема с хранением пароля, например, при автоматическом добавлении Access при вводе поля в символ '\'
?
Попробуйте преобразовать хешированный пароль в строковое представление hex например, 320A4F ... перед хранением. Затем вы можете сравнить эту строку, а не хеш-значение. Класс
SoapHexBinary
может вам помочь.