Мой опыт работы с защитой паролем практически не существует. Я не принимал ни одного криптографического класса в колледже, и мои математические курсы вкратце коснулись фактических алгоритмов шифрования. Теперь, хотя я хотел бы хранить пароли пользователей в базе данных для создания безопасного метода для входа в мое приложение. После прочтения this, есть несколько вещей, которые я собрал:Пароль Hashing с JavascriptNodejs
- хеширования паролей должна занять значительное количество времени, чтобы предотвратить повторные попытки входа в систему и повысить безопасность.
- Два или более паролей может потенциально хэш в той же строке.
Имея это в виду, я попытался реализовать хеширование пароля на моем сервере узлов, используя jssha. Копирование примеров из ридх:
var jsSHA = require('jssha');
var sha = new jsSHA("SHA-512", "TEXT");
sha.update("password");
var hash = sha.getHash("HEX");
console.log(hash);
Я могу создать хэш для строки пароля, но этот модуль, кажется, нарушает две из указанных выше пунктов маркированных. Запуск сценарий 5 раз подряд создает ту же строку каждый раз, и даже при использовании дополнительного HashMap в конструкторе для добавления итераций:
var sha = new jsSHA("SHA-512", "TEXT", '{"numRounds" : 4000000}');
хэша завершенных в микросекундах, независимо от количества раундов, которые Я поставляю конструктору.
Я не могу найти документацию для хеширования, особенно в Javascript/Node. Я неправильно использую модуль или должен использовать что-то еще?
Третий параметр должен быть литералом объекта, а не строкой. – SLaks
. Вы получите более подробные ответы на http://security.stackexchange.com/. Однако я настоятельно рекомендую использовать SHA-512, поскольку он в значительной степени нарушен как безопасный хеш. Современный уровень шифрования, хотя HMAC-SHA1 также считается приемлемым выбором. –
О, действительно ... Я займусь этим скриншотом. –