Sql Server 2005: какой тип данных использовать для хранения паролей, хэшированных по алгоритму SHA-256? - PullRequest
11 голосов
/ 31 октября 2008

В Sql Server 2005 какой тип данных должен использоваться для хранения паролей хешируется алгоритмом SHA-256 ?

Данные хешируются приложением и передаются в базу данных

Ответы [ 5 ]

12 голосов
/ 31 октября 2008

Я предпочитаю преобразовывать хеш-код в шестнадцатеричную строку, в этом случае varchar (64) сделает свое дело или varchar (66), если вам нравится префикс "0x". Таким образом, намного проще сравнивать вручную или (переустанавливать) значения, которые необходимо скопировать / вставить из других мест. например, вы потеряли свой admin-PW и хотите сбросить его через SQL ...

4 голосов
/ 31 октября 2008

Атрибут "Hash" класса SHA256Managed - это массив байтов, а HashSize - 256 бит, поэтому я считаю, что двоичный код (32) будет самым простым.

Возможно, вы также можете поместить его в поле varchar, используя ToBase64Transform. Я не совсем знаком с алгоритмом Base64, но кажется, что для представления 256-битного числа в base 64 вам, вероятно, понадобится не менее 43 символов. IIRC Base64 использует пару дополняющих символов, так что я, вероятно, поместил бы его в varchar (50) просто на всякий случай.

3 голосов
/ 31 октября 2008

varbinary (32) или бинарный (32).

2 голосов
/ 31 октября 2008

Должно выдавать 32-байтовое значение (256 бит), поэтому двоичный код (32) должен работать.

1 голос
/ 31 октября 2008

SHA-256 имеет 256-битный выход

256 бит = 32 байта

Так что попробуйте varbinary (32)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...