我在我的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我该怎么做?
您无法解密密码哈希,它们使用10轮BCrypt(Spring Framework默认配置)进行加密。 JWT机密与密码加密无关。
如果用户忘记了密码,他应该要求密码重置,并且将通过电子邮件收到重置链接。
[如果问题是您在开发环境中丢失了用户密码,那么使用相同的10轮Bcrypt算法(甚至可以在线完成)对新密码进行加密,然后替换[C0 ]直接在数据库中。
此外,请生成一个新的password_hash
密钥,并且请勿按照base64-secret
中的指示与任何人共享。