如何解密存储在数据库中并由 jhipster web-app 生成的密码?
How can I decrypt a password stored in database and generated by the jhipster web-app?
我的应用程序中有这个-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 数据库中的其中一个用户密码,例如:a$j8S5d7Sr7.8VTOYNviDPOeWX8KcYILUVJBsYV83Y5NtECayypx9lO
我该怎么做?
您无法解密密码哈希,它们使用 10 轮加密 BCrypt(Spring 框架默认配置)。 JWT 秘密与密码加密无关。
如果用户丢失了密码,他应该请求重设密码,并将通过电子邮件收到重设密码 link。
如果问题是您在开发环境中丢失了用户的密码,那么使用相同的 10 轮 Bcrypt 算法加密新密码(甚至可以在线完成)并替换可能会更快直接在数据库中 password_hash
。
此外,请生成一个新的 base64-secret
密钥,并且不要按照 jhipster documentation 中的说明与任何人共享。
我的应用程序中有这个-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 数据库中的其中一个用户密码,例如:a$j8S5d7Sr7.8VTOYNviDPOeWX8KcYILUVJBsYV83Y5NtECayypx9lO
我该怎么做?
您无法解密密码哈希,它们使用 10 轮加密 BCrypt(Spring 框架默认配置)。 JWT 秘密与密码加密无关。
如果用户丢失了密码,他应该请求重设密码,并将通过电子邮件收到重设密码 link。
如果问题是您在开发环境中丢失了用户的密码,那么使用相同的 10 轮 Bcrypt 算法加密新密码(甚至可以在线完成)并替换可能会更快直接在数据库中 password_hash
。
此外,请生成一个新的 base64-secret
密钥,并且不要按照 jhipster documentation 中的说明与任何人共享。