這里設計到一個新的知識點,下來准備找找資料學習一下:Spring Security
我們都知道,密碼這種東西存到數據庫是不能以明文直接存入的,而是要經過加密,而且加密還頗多講究
比如以前的 MD5加密,現在很容易就破解了,需要配合一下其他的手段完成密碼的不見光性
Spring Security 提供了BCryptPasswordEncoder類,使用BCrypt強哈希方法來加密密碼
依賴:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-security</artifactId>
</dependency>
我們只是使用該框架的加密功能,添加配置類,配置其他地址都可以訪問(安全配置類)

解析:(請把注釋刪掉,否則無法解析)
@Override
protected void configure(HttpSecurity http) throws Exception {
http
.authorizeRequests() //所有sucurity全注解配置實現的開端,表示需要的權限 權限分為:攔截的路徑和訪問該路徑需要的權限
.antMatchers("/**").permitAll() //第一個表示攔截的路徑,第二個表示放行所有路徑,任何權限隨意訪問
.anyRequest().authenticated() //第一個表示任何的請求,第二個表示認證后才能訪問
.and().csrf().disable(); //第一個為固定寫法,第二個表示csrf攔截失效
}
然后我們就可以在Spring容器啟動的時候注入 BCryptPasswordEncoder,然后就可以開始使用了

然后我們將 BCryptPasswordEncoder 注入到我們要使用 加密服務的類中,

主要使用的方法有兩個:encode ( 加密 ) matches ( 判斷明文和加密后的密文是否相同 ,返回布爾值)
看看列子:
Controller:

Service:

使用的是Spring全家桶,下面我們開始測試:

查看數據庫錄入的數據:這就是 “2222” 加密后形成的密文

查看控制台打印的數據:

密碼就以密文的方式存入到了數據庫,Spring Security不了解,下來了解了解。
