之前我們都是使用md5md5passwordencoder
或者shashapasswordencoder
的雜湊演算法進行密碼加密,在spring security中依然使用只要指定使用自定義加密演算法就行,現在推薦spring使用的bcryptbcryptpasswordencoder
,一種基於隨機生成salt的根據強大的雜湊加密演算法。
首先我們使用spring提供的加密方法對密碼 123456 進行加密:
1、使用md5加密:
package修改資料庫中的使用者hxf密碼為 7cbdf569746dd62484eb25a55b7df2dccom.petter.util;
import
org.springframework.security.authentication.encoding.md5passwordencoder;
/***
@author
hongxf
* @since
2017-04-11 10:52
*/public
class
md5encodergenerator
}
2、使用
bcrypt加密:
package修改資料庫中的使用者hxf密碼為 $2a$10$f0degrkipyyzcfrf/ftmsoakl1y/xhpkaijwdfiwnoozgtes8dilicom.petter.util;
import
org.springframework.security.crypto.bcrypt.bcryptpasswordencoder;
/***
@author
hongxf
* @since
2017-04-10 10:01
*/public
class
passwordencodergenerator
}
這裡需要注意,保證資料庫密碼欄位的長度為60或者大於60,否則字串會被截斷。
一、使用md5加密演算法:
spring security已經廢棄了
org.springframework
.security
.authentication
.encoding.
passwordencoder介面,推薦使用
org.
springframework
.security
.crypto
.password.
passwordencoder介面
這裡需要自定義。
1、建立自定義密碼加密實現類custompasswordencoder
package2、在securityconfig中進行配置com.petter.config;
import
org.springframework.security.authentication.encoding.md5passwordencoder;
import
org.springframework.security.crypto.password.passwordencoder;
/***
@author
hongxf
* @since
2017-04-11 10:39
*/public
class custompasswordencoder implements
passwordencoder
@override
public
boolean
matches(charsequence rawpassword, string encodedpassword)
}
@bean直接把自定義的類設定即可。public
passwordencoder passwordencoder()
@override
protected
void configure(authenticationmanagerbuilder auth) throws
exception
同樣適用於sha加密。
二、使用bcrypt加密演算法:
1、只需要在
securityconfig中進行配置
@beanps:如果使用的是public
passwordencoder passwordencoder()
@override
protected
void configure(authenticationmanagerbuilder auth) throws
exception
jdbcauthentication,安裝如下配置即可
@bean啟動測試即可public
passwordencoder passwordencoder()
@override
protected
void configure(authenticationmanagerbuilder auth) throws
exception
Spring Security基本配置和使用
建立專案 使用 spring boot cli 命令列工具引入web 和 security,快速建立乙個 web 應用程式 spring init dependencies web,security springbootsecurity新增乙個簡單的介面 使用ide開啟cli生成的專案,新增乙個示例...
spring security 安全框架
本文 http itblood.com spring security security framework.html 安全常識 acegi介紹 以宣告式方式為基於spring的web應用新增認證和授權控制 acegi體系結構 認證管理器 訪問控制管理器。認證 authenticationproce...
SpringSecurity認證流程
在之前的文章 springboot spring security 基本使用及個性化登入配置 中對springsecurity進行了簡單的使用介紹,基本上都是對於介面的介紹以及功能的實現。這一篇文章嘗試從原始碼的角度來上對使用者認證流程做乙個簡單的分析。在具體分析之前,我們可以先看看springse...