Как расшифровать пароль, хранящийся в базе данных и сгенерированный веб-приложением jhipster? - PullRequest
0 голосов
/ 17 января 2020

У меня есть это в моем файле application-dev.yml:

security:
authentication:
  jwt:
    # This token must be encoded using Base64 and be at least 256 bits long (you can type `openssl rand -base64 64` on your command line to generate a 512 bits one)
    base64-secret: ODNiNWQ5NmY0M2ZiNTg3MDI1YjA2N2Y1OGVjMTY1ZWM3NzkxZTdlN2FiZGYyYzM2ZTljNTVkZGZiZmQzZDFlMTJhODNkMTEyNzM5NmY0MDMzZmI4Y2E2YjFkNzg1MDM2NzAwNDhhZDI1NGVjOGIyMDNlMGU3ZDZhNmQyZDk1YWY=
    # Token is valid 24 hours
    token-validity-in-seconds: 86400
    token-validity-in-seconds-for-remember-me: 2592000

, и я хочу расшифровать один из пользовательских паролей, хранящихся в базе данных postgres, например: $2a$10$j8S5d7Sr7.8VTOYNviDPOeWX8KcYILUVJBsYV83Y5NtECayypx9lO Как можно Я делаю это?

1 Ответ

6 голосов
/ 17 января 2020

Вы не можете расшифровать хэши паролей, они зашифрованы с использованием 10 раундов BCrypt (конфигурация Spring Framework по умолчанию). Секрет JWT не имеет ничего общего с шифрованием пароля.

Если пользователь потерял свой пароль, он должен запросить сброс пароля и получит ссылку для сброса по электронной почте.

Если проблема заключается в том, что Вы потеряли пароль для пользователя в своей среде разработки. Может быть быстрее просто зашифровать новый пароль, используя тот же алгоритм 10-раундового шифрования Bcrypt (это можно сделать даже в режиме онлайн), и напрямую заменить password_hash в базе данных.

Также, пожалуйста, сгенерируйте новый ключ base64-secret и не передавайте его никому, как указано в документации jhipster .

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