Лучший способ сохранить пароль в sql

Вот некоторые вещи, которые я не люблю о Java (который не является моим любимым языком):

  • стирание типа Дженериков (т.е. никакие овеществленные дженерики)
  • Неспособность поймать несколько исключений (различных типов) в единственном блоке выгоды
  • Отсутствие деструкторов (завершают () является очень плохой заменой)
  • Никакая поддержка закрытий, или рассматривающие функции как данные (анонимные внутренние классы являются очень подробной заменой)
  • Контролируемые исключительные ситуации в целом, или более конкретно, делая неисправимые исключения проверенными (например, SQLException)
  • Никакая поддержка уровня языка литеральных наборов
  • Никакой вывод типа, когда конструкторов универсальных классов вызывают, т.е. параметр (параметры) типа должен быть повторен с обеих сторон '='
5
задан Roee Adler 12 August 2009 в 06:30
поделиться

5 ответов

Вам нужен доступ к исходному паролю, или вы просто собираетесь попытаться сравнить введенный пароль с паролем в базе данных?

Если вам нужен доступ к исходному паролю , тогда вам придется использовать алгоритм шифрования вместо алгоритма хеширования.

Если все, что вы делаете, это сохраняете пароль в базе данных, чтобы вы могли позже проверить его по известному входному значению, тогда хеш с солью будет работать.

Помните, что когда клиент отправляет учетные данные для проверки, вы не хотите отправлять пароль открытым текстом!

5
ответ дан 13 December 2019 в 22:12
поделиться

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

3
ответ дан 13 December 2019 в 22:12
поделиться

Я согласен, что имеет смысл иметь все шифрование в одном месте. Однако если вы отделите ключ от данных (введите код C #, данные в базе данных), это повысит безопасность. Кроме того, Sql Server использует главный ключ при шифровании, что означает, что если вам нужно восстановить данные на новый сервер, у вас возникнут проблемы с восстановлением данных.

Все сводится к управлению ключами и тому, как вы хотите это делать. .

2
ответ дан 13 December 2019 в 22:12
поделиться

Вы можете проверить NSScreen для OS X и UIScreen для iPhone.

Из документации:

«... вы должны использовать свойства этот объект, чтобы получить рекомендованный прямоугольники рамки для вашего Вы можете проверить это, дважды зашифровав один и тот же пароль, он должен дать другой зашифрованный текст. Если нет случайного IV, не используйте его, просто зашифруйте его в своем приложении.

0
ответ дан 13 December 2019 в 22:12
поделиться

Как и на большинство вопросов, лучший ответ зависит от контекста вашей ситуации. Хорошего решения нет.

Некоторые варианты:

  1. Оставьте пароль в виде обычного текста или зашифруйте его с возможностью обратимого преобразования. Используйте возможности SQLServer для шифрования важных полей на уровне РСУБД или используйте аналогичные функции шифрования и надейтесь, что MS реализовала разумное управление ключами и ключи достаточно безопасны для ваших целей. На практике все, что делает шифрование, - это сворачивание хранилища множества маленьких секретов в хранилище одного большого секрета. Это может сделать проблему более управляемой, но сама проблема никогда не исчезнет.

  2. Необратимо «зашифруйте» пароль с помощью хеширования. алгоритм или некоторая форма crypt (). В зависимости от доступных векторов атак этот метод может не обеспечить значительного улучшения безопасности при хранении открытого текста

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

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

. В некоторых случаях знание хэша пароля может быть столь же плохим, как знание пароля с точки зрения доступа к системе.

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

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

. В некоторых случаях знание хэша пароля может быть столь же плохим, как знание пароля с точки зрения доступа к системе.

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

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

. В некоторых случаях знание хэша пароля может быть столь же плохим, как знание пароля с точки зрения доступа к системе.

При таком подходе вы, вероятно, в конечном итоге отправите простые тексты или другой материал, который не лучше транспорта (независимо от того, используется ли несвязанное шифрование или нет), это может быть существенным риском с точки зрения доверия

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

. В некоторых случаях знание хэша пароля может быть столь же плохим, как знание пароля с точки зрения доступа к системе.

При таком подходе вы, вероятно, в конечном итоге отправите простые тексты или другой материал, который не лучше транспорта (независимо от того, используется ли несвязанное шифрование или нет), это может быть существенным риском с точки зрения доверия

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

. В некоторых случаях знание хэша пароля может быть столь же плохим, как знание пароля с точки зрения доступа к системе.

0
ответ дан 13 December 2019 в 22:12
поделиться
Другие вопросы по тегам:

Похожие вопросы: