jeesite学习笔记——加密解密功能

一、需求:

数据库中存储的数据为加密后的结果,而在后台页面中显示的是解密的结果,由于是双向加密(对称加密),所以MD5不适合,采用AES加密,这种加密方法jeesite自带!!

1.数据库截图:

 2.页面截图:

二、代码展示:

1.由于保存进数据库时,是对后台的操作,所以在Service层中的save方法进行加密

@Transactional(readOnly = false)
public void save(Expert expert) {
	//对专家姓名、手机号、邮箱、银行卡号进行AES加密
	expert.setExpertname(Cryptos.aesEncrypt(expert.getExpertname()));
	expert.setEmail(Cryptos.aesEncrypt(expert.getEmail()));
	expert.setPhone(Cryptos.aesEncrypt(expert.getPhone()));
	expert.setBankcardnumber(Cryptos.aesEncrypt(expert.getBankcardnumber()));
	super.save(expert);
}

2.在数据库中取出数据即是从后台取,所以在Service层中解密

public Expert get(String id) {
	//从数据库中读取数据,由于数据库中的数据已经加密,读取时需要解密,然后返回解密后的数据
	Expert e = super.get(id);
	e.setExpertname(Cryptos.aesDecrypt(e.getExpertname()));
	e.setEmail(Cryptos.aesDecrypt(e.getEmail()));
	e.setPhone(Cryptos.aesDecrypt(e.getPhone()));
	e.setBankcardnumber(Cryptos.aesDecrypt(e.getBankcardnumber()));
	return e;
}

public List<Expert> findList(Expert expert) {
	//解密可以放入findlist,也可以放在fandpage中的fandlist
	List<Expert> experts = super.findList(expert);
	for(Expert k : experts ) {
		k.setExpertname(Cryptos.aesDecrypt(k.getExpertname()));
		k.setEmail(Cryptos.aesDecrypt(k.getEmail()));
		k.setPhone(Cryptos.aesDecrypt(k.getPhone()));
		k.setBankcardnumber(Cryptos.aesDecrypt(k.getBankcardnumber()));
	}
	return experts;
	//return super.findList(expert);
}

public Page<Expert> findPage(Page<Expert> page, Expert expert) {
	/*List<Expert> experts = findList(expert);
	for(Expert k : experts ) {
		k.setExpertname(Cryptos.aesDecrypt(k.getExpertname()));
		k.setEmail(Cryptos.aesDecrypt(k.getEmail()));
		k.setPhone(Cryptos.aesDecrypt(k.getPhone()));
		k.setBankcardnumber(Cryptos.aesDecrypt(k.getBankcardnumber()));
		page.setList(findList(k));
	}
	page.setList(experts);
	return super.findPage(page, expert);*/
	expert.setPage(page);
	page.setList(findList(expert));
	return page;
}

注意:由于需要在list页面中和修改页面中都需要显示解密结果,所以需要重写geiId和findPage两个方法,而findPage中的解密可以直接修改findList(注释中的内容),也可以直接重写findList方法

注意:各个文件都有其前后台功能,相应的操作最好写在相应的文件中,避免代码的重复

/*小白一个,仅留做自我学习记忆,时常修改,有错的希望留言指正,不喜勿喷!*/

猜你喜欢

转载自blog.csdn.net/qq_41887223/article/details/82192790