一、关于Nginx
1、Nginx反向代理的配置方式。
监听的端口号是80,当请求路径中含有“api”这种字符串时,Nginx就会将请求转发给后面的地址,并且在/后面拼接上请求中后面的employee/login
2、Nginx负载均衡的配置方式。
会转发到webservers(可以是任意名字)里面的服务地址端口号。底层还是依赖反向代理来实现的。
负载均衡的策略:
ip_hash里的ip是客户端的ip,该用户总会访问同一个服务器。
二、MD5加密
数据库中的password等敏感信息往往密文存储。前端传来的password是明文,先传到Controller层,然后Controller层调用了Service层的login方法进入到Service层,Service层会调用DAO层方法从数据库拿数据,然后将从Controller层传来的密码与从数据库中拿出的密码对比。 我们要在对比之前,将从Controller层传来的密码加密。
password = DigestUtils.md5DigestAsHex(password.getBytes());
MD5加密得到的是32为16进制结果,两个不同的明文会对应两个不同的结果,且这个过程不可逆。
注意:MD5算法 对比 加密算法缺少了解密过程,所以MD5并不是加密算法。加密算法加密后的消息是完整的,并且基于解密算法可以恢复原始数据,但MD5算法得到的消息是不完整的,无法得到原始数据。