Какую кодировку лучше использовать для хранения хэшей паролей в БД или их передачи по сети - PullRequest
1 голос
/ 17 декабря 2010

у нас есть служба аутентификации wcf и клиент .net c # CAB.Сервис отвечает за сохранение и проверку хэшей паролей пользователей.Также требуется, чтобы хэши были сохранены в читаемом формате.Также нам потребуется отправить хэши от клиента в сервис для проверки.Итак, является ли использование кодировки Base64 для хранения и передачи хорошим выбором?Каковы преимущества и недостатки использования этого по сравнению с другими кодировками?

Ответы [ 3 ]

1 голос
/ 17 декабря 2010

Вам нужно что-то, что может кодировать произвольные октеты, а не то, что просто кодирует текст (например, некоторые битовые комбинации недопустимы в UTF-16).

Так что на самом деле две опции для кодирования двоичного файла в виде текста:

  • Base 64
  • Hex

Поскольку для hex требуется два текстовых символа для каждого октета, в то время как для base64 требуется около 1,3, выбор будет равен base64, если нет некоторыхпричина не.

0 голосов
/ 17 декабря 2010

Base64 - это стандартный и хорошо известный способ кодирования двоичных данных.Это хорошо подходит для ваших требований.

Если вам нужно отправить это значение в URL, часто используя модифицированную кодировку Base64 (http://en.wikipedia.org/wiki/Base64#URL_applications) или Base32 может работать лучше.

0 голосов
/ 17 декабря 2010

Хешируйте пароль с помощью SHA512 вместе с уникальной солью для каждого пользователя, затем кодируйте Base64 или кодируйте в шестнадцатеричном формате (каждый байт ввода становится шестнадцатеричным шестнадцатеричным значением этого байта).

Хеши являются односторонними функциями. После того, как он хеширован, вы никогда не сможете вернуть исходный пароль. Но это нормально, поскольку вы сохраняете только хешированный пароль, поэтому, чтобы проверить, правильно ли кто-то ввел свой пароль, необходимо повторно хешировать и сравнить хешированные версии.

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