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

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

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

Ответ 1

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

Ответ 2

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

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

Ответ 3

varbinary (32) или двоичный (32).

Ответ 4

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

Ответ 5

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

256 бит = 32 байта

Итак, попробуйте varbinary (32)