如何使用 Postgres 存储哈希密码以通过 Vaadin/Spring Security 进行用户身份验证?

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

我正在开发一个使用 Vaadin(以及 Spring Boot 和 Spring Security)以及 Postgres SQL 数据库的应用程序。我找到了几个如何使用 @Repository 接口作为身份验证用户源的示例。除了大多数似乎已经过时的事实之外,所有人似乎都假设密码将以明文形式存储在数据库中,而不是用盐进行哈希处理。有没有办法在正确存储密码的情况下做到这一点?我需要硬着头皮从头开始重新创建

JdbcUserDetailsManager
吗?

我对 Vaadin、Spring Boot 和 Spring Security 还很陌生。

java postgresql spring-boot spring-security vaadin
1个回答
0
投票

看看这个库: https://github.com/Password4j/password4j

基本上,当设置 PW 时,您会对 PW 进行加盐 + 哈希处理,然后将其存储在数据库中。

PW 验证后,您重做相同的盐+哈希,然后将此“用户提供的”值与数据库中的字符串进行比较。

Argon2 哈希是推荐的哈希方法之一。

并将胡椒值存储在数据库之外的某个位置以提高安全性。

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