Encrypt通过编码对文件或电子邮件进行加密,经过加密的文件或电子邮件是无法阅读的乱码,只有知道密钥(Key)的人才能将其解密阅读,从而保证文件或电子邮件传送的安全
也有对发送的代码,图片进行加密等,都是为了保证索要发送数据的安全。
下面我们来实现对数据的加密
我们要在lib里面导入MD5所需要的包
spring-security-crypto-3.1.0.RELEASE.jar
代码的实现我写了一个工具类:
package Encrypt;
import org.springframework.security.crypto.password.PasswordEncoder;
import org.springframework.security.crypto.password.StandardPasswordEncoder;
/**
* @ClassName EncryptUtil
* @Description TODO
* @author private
*/
public class EncryptUtil {
//从配置文件中获得
private static final PasswordEncoder encoder = new StandardPasswordEncoder();
public static String encrypt(String rawPassword) {
return encoder.encode(rawPassword);
}
public static boolean match(String rawPassword, String password) {
return encoder.matches(rawPassword, password);
}
}
在这个util中有两个方法。
第一个有一个参数,是在数据在要写入数据库的时候给指定的数据进行加密,这个操纵在DAO层进行就可以了,
这个方法会把加密的数据返回,然后就把进行加密的数据存到数据库中,在数据库中显示的就是我们加密过后的数据,这个数据是反编译不过来的。
第二个是我们的登录操作,有两个参数第一个是登录密码,第二个是数据库中取出的加密数据,当用户在登录的时候把密码传到后台,我们会把密码进行加密编译操作,
然后再和数据库里面取出的数据进行比较,返回Boolean类型。