十次方第六天[Java專案]
阿新 • • 發佈:2018-12-29
大家需要十次方專案的視訊可以關注我的微信公眾號,
加密與微服務JWT
BCrypt加密
說明下這個加密演算法,這個是Spring Security提供了BCryptPasswordEncoder類,實現Spring的PasswordEncoder介面使用BCrypt強雜湊方法來加密密碼,BCrypt強雜湊,每次加密的結果都不一樣,
- 引入依賴
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-security</artifactId> </dependency>
- 新增配置類
我們在添加了Spring Security的依賴後,學過的小夥伴應該都知道,所有的地址都被控制了,而這裡我們只是想用這個演算法,所以我們需要一個配置類,配置所有地址都可以匿名訪問
@Configuration @EnableWebSecurity public class WebSecurityConfig extends WebSecurityConfigurerAdapter{ @Override protected void configure(HttpSecurity http) throws Exception { /** * authorizeRequests 所有security安全配置的開端,表示開始說明需要的許可權,必須這麼寫 * 需要的許可權兩部分:第一部分四攔截的路徑,第二部分訪問路徑需要的許可權 * antMatchers表示攔截所有路徑,/**所有的意思,permitAll任何許可權都可以訪問 * anyRequest任何請求,authenticated認證後才能訪問 * and().csrf().disable()固定寫法,表示csrf攔截失效 */ http .authorizeRequests() .antMatchers("/**").permitAll() .anyRequest().authenticated() .and().csrf().disable(); } }
這裡是要用到security裡的加密類,所有要住進來
@Bean
public BCryptPasswordEncoder encoder(){
return new BCryptPasswordEncoder();
}
密碼的加密
admin.setPassword(encoder.encode(admin.getPassword()));
密碼的匹配
encoder.matches(沒有加密的密碼,加密後的)
jjwt快速入門
引入依賴
<dependency> <groupId>io.josnwebtoken</groupId> <artifactId>jjwt</artifactId> <version>0.6.0</version> </dependency>
大家需要十次方專案的視訊可以關注我的微信公眾號,