Столбец
A varbinary
может хранить все что угодно. Чтобы сохранить в нем строку, вам нужно привести ее к varbinary
:
declare @t table (id int identity, pwd varbinary(50))
insert into @t (pwd) values (cast('secret' as varbinary(50)))
Но для пароля в столбце varbinary
обычно хранится некоторый хэш. Например, хэш SHA1, использующий функцию HashBytes
:
insert into @t (pwd) values (HashBytes('sha1', 'secret'));
Хранение одностороннего хеша вместо реального пароля более безопасно. Вы можете проверить, соответствует ли пароль:
select * from @t where pwd = HashBytes('sha1', 'secret')
Но нет способа восстановить пароль, посмотрев на таблицу. Таким образом, только конечный пользователь знает свой пароль, и даже администратор базы данных не может его восстановить.