1. 程式人生 > >十次方第六天[Java專案]

十次方第六天[Java專案]

 

大家需要十次方專案的視訊可以關注我的微信公眾號,

加密與微服務JWT

BCrypt加密

說明下這個加密演算法,這個是Spring Security提供了BCryptPasswordEncoder類,實現Spring的PasswordEncoder介面使用BCrypt強雜湊方法來加密密碼,BCrypt強雜湊,每次加密的結果都不一樣,

  1. 引入依賴
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-security</artifactId>
</dependency>
  1. 新增配置類

我們在添加了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>

 

大家需要十次方專案的視訊可以關注我的微信公眾號,