Хобрук: Ваш путь к мастерству в программировании

Шифрование в Метеоре

У меня есть форма входа пользователя. Имеет около 10 входов. Я хочу сохранить этого пользователя, случайным образом сгенерировать пароль, хешировать, посолить и сохранить. Как этого добиться? Я не смог найти хорошего руководства по использованию Crypto.js в метеоре. Я всегда натыкаюсь на пакет аккаунт-пароль.


  • Accounts-password делает именно это, но вместо хэша и создания соли он использует bcrypt, который намного безопаснее в соответствии с этим codahale.com/how-to-safely-store-a-password 21.02.2015

Ответы:


1

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

Пароли проверяются путем проверки хэшей, поэтому от клиента к серверу передается только хешированная версия, которая затем запускается через bcrypt.

клиент: пароль --> сеть: sha256 (пароль) --> сервер: bcrypt (sha256 (пароль))

Что хорошо в этой реализации: (а) сервер никогда не видит и не хранит данные, эквивалентные паролю, (б) все это делается за вас, просто установив пакет.

Также см. этот хакпад для получения дополнительной информации.

21.02.2015
  • Значит, клиент хэширует пароль, а сервер шифрует хэш и сохраняет его? Это означает, что открытый пароль пользователя никогда никуда не отправляется, но человек посередине все же может получить (хешированный) пароль из трафика (если не через SSL-соединение) и, таким образом, украсть учетную запись. Или я что-то упустил? 13.06.2016
  • Насколько я понимаю, в вашем комментарии все верно. SSL необходим для обеспечения безопасности, поскольку в противном случае вы были бы уязвимы для атак MITM. Хеширование пароля на клиенте не гарантирует какой-либо безопасности, однако позволяет вам утверждать, что у вас нет данных, эквивалентных паролю, в вашей базе данных. 13.06.2016
  • Позвольте мне добавить к обсуждению, что передача хешированного пароля вместо простого текстового пароля может не помешать злоумышленнику взломать учетную запись в конкретном веб-приложении, но вполне может помешать злоумышленнику взломать другие учетные записи других приложений того же пользователя. 07.02.2017
  • Новые материалы

    Блоги, которые обязательно нужно прочитать специалистам по обработке и анализу данных :
    Добро пожаловать в 2020! Новый год и новое десятилетие. Поскольку мы начинаем новый и захватывающий год в науке о данных, важно, чтобы профессионалы открыли для себя лучшие блоги по науке о..

    Универсальный базовый доход
    Универсальный базовый доход В последние годы концепция всеобщего базового дохода (УБД) набирает обороты как все более эффективное решение для борьбы с растущим неравенством доходов и..

    Освоение Python для анализа финансовых данных: руководство по получению данных о доходах от акций
    Если вы хотите научиться получать данные о доходах от акций с помощью Python, то это руководство для вас! В этой статье мы рассмотрим несколько примеров сбора данных о доходах от акций. Мы..

    Абсолютно имеет смысл.
    Абсолютно имеет смысл. Мой репетитор даже предложил то же самое. Одна проблема, с которой я столкнулся, заключается в том, что для каждой из категорий не было ярлыка «хорошо». Если я перебираю..

    МАШИННОЕ ОБУЧЕНИЕ И EDA
    Каковы шаги в машинном обучении Определение проблемы Генерация гипотез Извлечение данных Исследование данных Прогнозное моделирование Развертывание модели Зачем нам ЭДА? Идентификация..

    В чем основные различия между ReactJS и React-Native?
    В чем основные различия между ReactJS и React-Native? Что я узнал, создавая веб-приложения, а затем мобильные приложения на React React-Native существует уже около 2 лет и стал..

    LeetCode — Умножение строк
    Постановка задачи Даны два неотрицательных целых числа num1 и num2 , представленные в виде строк, вернуть произведение num1 и num2 , а также представлен в виде строки. Примечание . Вы..


    © 2024 hobruk.ru, Хобрук: Ваш путь к мастерству в программировании