当前位置: 首页 > 知识库问答 >
问题:

Spring Data Rest用户存储库BCCrypt密码

骆文彬
2023-03-14

我有一个spring data rest自定义用户存储库,其中密码需要使用bccrypt加密。从我正在发送普通密码的UI中,我想知道在hibernate在DB中创建用户之前,将普通密码转换为bcrypt散列的位置。我应该使用前保存拦截器和散列密码吗?或者有什么办法我可以告诉spring使用密码编码器?

共有1个答案

陈扬
2023-03-14

您需要在registration-service中执行,如下所示:

    @Autowired 
    private BCryptPasswordEncoder passwordEncoder;
    ...
    public void registerUser(final User user)
    {
        final String encodedPassword = passwordEncoder.encode(user.getPassword());
        user.setPassword(encodedPassword);
        userRepo.save(user);
    }

我推荐给您的密码编码器是org.springframework.security.crypto.bcrypt.bcryptpasswordencoder这个编码器会自动为您生成一个salt。

 类似资料:
  • 我不想公开我的模型类(jpa实体),而是用不同的数据传输对象(DTO)公开它们属性的不同子集。这个想法是不切实际的 例子: 实体: JpaRepository: DTO: D到积垢积存物: 实施: 一般: 在本例中,我想用Spring数据REST公开GroupDtoDao。 在其他bean中,我可以自动连接GroupDto和GroupDto,所以两者都由Spring的上下文管理。如果我不使用@Re

  • 我没有找到任何关于在前端端实现逻辑来管理Azure密钥库的可能性的信息。同时,我创建了一个Node JS服务器项目使用ENV来管理Azure Key Vault,它工作成功,但我想在我的Angular应用程序中得到同样的效果。

  • 我正在构建一个Java Web应用程序,当经理批准他们的请求时,它会自动授予用户对其Windows PC的管理权限。 为了实现这一点,我将编写一个脚本来自动远程访问用户的计算机,并将他们添加到计算机的管理组中。我想为了做到这一点,我需要一个管理服务帐户来访问所有的计算机。 我的问题是,我如何安全地存储管理服务帐户信息?应用程序每次需要访问并授予用户管理员权限时都需要凭据,那么我如何让应用程序在没有

  • 同一空间/存储库中机密的逻辑分组 HSM的可能性 日志记录/审核 检索/更改机密的一个位置,许多应用程序可能依赖该位置而不触及应用程序。 我不知道如何在我的Spring Boot应用程序中处理存储库访问。当我使用azure-key-vault spring boot Starter时,我必须设置Applications.Properties中的访问权限,如本教程:如何使用spring boot S

  • 我有一个premium storage account,在创建这个帐户后我就启用了加密,我找到了这个链接https://docs.microsoft.com/en-us/azure/storage/storage-service-encryption来检查blob是否加密。 现在,如果我使用Azure key vault加密OS盘和数据盘,它也用于保护静止数据,但加密存储帐户也会做同样的事情。有谁

  • 问题内容: 我正在用Java编写一个针对Mac OS X的小程序(Twitter客户端)。作为其功能的一部分,它需要有一个存储Twitter用户名/密码的地方。自然的地方是Mac钥匙串,但我找不到任何访问它的方法。 有什么方法可以从Java访问mac钥匙串,或者失败了,对于在哪里存储用户名/密码,您有何建议? 问题答案: 有Java钥匙串API,在OS X上有一个由keychain支持的KeySt