带盐值加密
BCryptPasswordEncoder passwordEncoder = new BCryptPasswordEncoder();
String encode = passwordEncoder.encode("123456"); //$2a$10$T1YZP8JQDQQr0mrTSzzKveIYQApm1MOGISDOLyLZUOqjUTk6ABiTC
加密后的结果
$2a
10
10
10T1YZP8JQDQQr0mrTSzzKveIYQApm1MOGISDOLyLZUOqjUTk6ABiTC
解密
boolean matches = passwordEncoder.matches("123456", "$2a$10$/aM8N/gylUqnJRVAiEilRu8qN/8wLlA7YVGEpCnjHWqg3uOJTPQHS");
检验
System.out.println(encode+"=>"+matches);
结果
$2a
10
10
10ZLIcQYXneBk6uy1uVVpG8OG2YUQVzbmMG2/Dp7slnT9hSl72JQ0b2=>true
总结
每次获取到的加密值不同,使用自带的解密可以解析出,很方便。