gpt4 book ai didi

java - 屏幕验证、JPA 验证和哈希密码

转载 作者:行者123 更新时间:2023-12-01 05:28:21 24 4
gpt4 key购买 nike

我正在使用 @Pattern 正则表达式验证用户密码。

这工作正常,但随后我对密码进行哈希处理,这导致密码远多于我的验证指定的 16 个字符。

但是,此验证规则会过滤到我的 JPA 层,因此我的散列密码对于验证规则来说太长,并且当我尝试保留我的对象时,我收到“验证失败......”消息。

当然我错过了一些基本的东西,但它是什么?

谢谢

最佳答案

这是一个典型的场景,解决方案有两个:

  • 使用 DTO - 不是 PA 实体的对象,用于将数据从 Web 层传输到服务层。因此,您仅将正则表达式验证放在 DTO 上,而不是实体上
  • 有一个 @Transient 字段 repeatPassword 并将验证放在此处,而不是放在数据库中持久化的字段上。

简而言之 - 您不应该在实体的实际密码字段上添加注释。关闭持久层验证是一种选择,但不是首选,因为它可能会导致很多副作用。

关于java - 屏幕验证、JPA 验证和哈希密码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9422798/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com