1 为什么需要对密码进行加密和匹配
用户输入的密码原则上即使是超级管理员也是不能知道密码的,所以在用户进行注册时不是直接将用户的密码存储到数据库中,而是将用户的密码经过加密后存放到数据库的;当用户注册完后进行登录时,先根据用户名到数据库中去查找数据,如果有数据就将用户的信息查询出来,此时查询出来的用户密码是经过加密的,但是用户登录时输入的密码又是没有加密的,就需要对用户的数据的密码进行注册时密码加密规则进行加密后再跟从数据库中查询到的用户密码进行匹配。
2 springSecurity提供了一个接口来实现密码的加密和匹配
// // Source code recreated from a .class file by IntelliJ IDEA // (powered by Fernflower decompiler) // package org.springframework.security.crypto.password; public interface PasswordEncoder { String encode(CharSequence var1); boolean matches(CharSequence var1, String var2); }