Java spring boot在将密码存储到数据库之前先对其进行加密吗?

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

我需要在数据库中初始化管理员用户,因为注册新帐户需要管理员权限。问题是当我启用加密(加密所有注册的用户密码)时,它还会尝试解密初始化的管理员密码并返回错误:

Encoded password does not look like BCrypt

我想我可以以某种方式对初始化的管理员密码进行加密,然后再将其存储在数据库(MySQL)中。但是我不确定如何去做。有提示吗?

当前,我正在通过使用SQL查询与admin用户初始化数据库。

java mysql spring-boot security bcrypt
2个回答
1
投票
为此,您可以像这样输入普通密码到网站https://www.browserling.com/tools/bcrypt将舍入设置为10(这是Spring bean默认使用的值)它将为您提供加密的密码。只需将其替换为DB

0
投票
我认为数据库级加密的另一个问题是,您传递给数据库的数据可能最终存储在数据库日志或服务器日志中。因此,您可能会丢失密码的机密性。

如果必须设计系统,我可能会去进行应用程序级加密,然后让Spring-Boot应用程序来处理。

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