分享

Spring Security 设置2种加密方式(强散列哈希加密、自定义加密)

 牛人的尾巴 2023-10-11 发布于安徽


1 PasswordEncoder

2 BCryptPasswordEncoder(基于BCrypt的强散列哈希加密)

基于BCrypt的强散列哈希加密实现,并可以由客户端指定加密的强度strength,强度越高安全性自然就越高,默认为10.

Spring Security设置加密方式。

    /**
     * 身份认证接口
     *
     * @param auth
     * @throws Exception
     */
    @Override
    protected void configure(AuthenticationManagerBuilder auth) throws Exception {
        auth
                // 从数据库读取的用户进行身份认证
                .userDetailsService(userDetailsService)
                //加密方法(强散列哈希加密)
                .passwordEncoder(new BCryptPasswordEncoder());
    }

3 自定义加密

 自定义加密方式,也可以不加密。

package com.entity;

import cn.hutool.core.util.StrUtil;
import org.springframework.security.crypto.password.PasswordEncoder;

public class CustomPasswordEncoder implements PasswordEncoder {
    @Override
    public String encode(CharSequence charSequence) {
        return charSequence.toString();
    }

    @Override
    public boolean matches(CharSequence charSequence, String s) {
        return StrUtil.equals(charSequence, s);
    }
}

Spring Security设置加密方式。 

    /**
     * 身份认证接口
     *
     * @param auth
     * @throws Exception
     */
    @Override
    protected void configure(AuthenticationManagerBuilder auth) throws Exception {
        auth
                // 从数据库读取的用户进行身份认证
                .userDetailsService(userDetailsService)
                //加密方法(不加密)
                .passwordEncoder(new CustomPasswordEncoder());
    }

文章知识点与官方知识档案匹配,可进一步学习相关知识

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多