我应该在小型应用程序中使用 Spring 安全模块来获取 bcrypt 哈希密码吗?

Should I use Spring Security module in a small application just for bcrypt hashing password?

我正在创建一个小型网站 API,使用 Spring Boot 2.3.1 和 Spring 数据以及其他一些小包。该项目只是一个身份验证微服务。我会尽量简化事情以专注于问题。

假设应用程序将有一个实体 User(用户名、密码)、UserRepositoryAuthenticationServiceAuthenticationController,端点为 /register/authenticate 处理 POST-带有用户名和密码的请求 {"username": "Bob", "password": "pass"} 还存在一个带有 table usersusername varchar(16) & [ 的 postgres 数据库=20=],它将存储用户名和密码哈希值。

/authenticate 端点的目标是 return true 如果用户存在且密码匹配,否则 false

我不确定 Spring 安全性是否是这种小功能的最佳解决方案,也许我应该简单地使用一些实现 Bcrypt-hashing 的包?

包括和配置项目的 spring 安全性有时会对您现有的功能造成很多问题。在我看来,在这种情况下,没有它你会过得更好。保持简单,如果稍后出现 URL 过滤和高级导航权限之类的东西,请考虑一下。