¿我该如何解密存储在数据库中并由jhipster Web应用程序生成的密码?

问题描述 投票:0回答:1

我在我的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我该怎么做?

jhipster
1个回答
0
投票

您无法解密密码哈希,它们使用10轮BCrypt(Spring Framework默认配置)进行加密。 JWT机密与密码加密无关。

如果用户忘记了密码,他应该要求密码重置,并且将通过电子邮件收到重置链接。

[如果问题是您在开发环境中丢失了用户密码,那么使用相同的10轮Bcrypt算法(甚至可以在线完成)对新密码进行加密,然后替换[C0 ]直接在数据库中。

此外,请生成一个新的password_hash密钥,并且请勿按照base64-secret中的指示与任何人共享。

© www.soinside.com 2019 - 2024. All rights reserved.