Я работаю в компании, и я должен переделать их API для Golang от Php. Предыдущий разработчик использовал Phpass с Php, однако мне нужно использовать его с Golang.
Я искал, как реализовать phpass в go, но, похоже, он работает не так хорошо, как в php.
Я видел эти реализации GitHub:
gopass — Реализовать алгоритм phpass на ходу
phpass — Реализация пароля PHPass …
Может быть, это странно, но работает ли так же в Php? Для меня каждый раз, когда я получаю новый хешированный пароль для того же пароля / использования. Я также никогда не делал php, поэтому я не знаю, как протестировать этот класс / библиотеку (phpass)
Спасибо за помощь!
Различные хэши являются результатом засолки, каждый пароль должен иметь свою собственную уникальную соль. Эта соль затем включается вместе с другими параметрами в результирующую хеш-строку, поэтому password_verify () Функция может извлечь его для проверки введенного пароля.
Согласно этому ответ, язык Go, кажется, реализует алгоритм BCrypt. Это будет по умолчанию для библиотеки phpass, если хеши не генерируются с очень старой версией PHP. Если ваши хеши начинаются с подписи $2y$...
Скорее всего, реализация BCrypt совместима с хешами, сгенерированными PHP.
Других решений пока нет …