项目补充+秋招记录

1.项目补充点

(1)thymeleaf

渲染模板
https://www.cnblogs.com/msi-chen/p/10974009.html

(2)两次MD5加密

使用shiro的MD5工具。
为什么使用 MD5 盐值加密?希望即使两个原始密码相同,加密得到的两个字符串也不同。

import org.apache.shiro.crypto.hash.SimpleHash;
import org.apache.shiro.util.ByteSource;

   //使用md5生成加密后的密码
   //固定的salt
	private static final String SALT = "1qazxsw2";
	//算法名称 md5
	private static final String ALGORITH_NAME = "md5";
	//两次加密
	private static final int HASH_ITERATIONS = 2;
	public static String encrypt(String username, String pswd) {
   
		String newPassword = new SimpleHash(ALGORITH_NAME, pswd, ByteSource.Util.bytes(username + SALT), HASH_ITERATIONS).toHex();
		return newPassword;
	}

使用 ByteSource.Util.bytes() 来计算盐值.
使用 new SimpleHash(hashAlgorithmName, credentials, salt, hashIterations); 来计算盐值加密后的密码的值.

(3)shiro权限管理

(4)JSR303参数校验

1.引入依赖 spring-boot-starter-validation
2.方法参数的地方加上 @Valid
3.在需要校验的Model上面,每个字段上加上 @NotNull(不能为空) @Length(min=10)(长度最小为10)

(5)全局异常处理器

@ControllerAdvice
@ResponseBody
public class GlobleExceptionHandler {
   

你可能感兴趣的:(java,restful,spring,boot)