发表于: 2018-10-19 02:36:31
1 397
今天完成的事情:
一、集中常见的密码加密方式:用工具类来完成
1、MD5 加密不可逆 32位等长字符
MD5加密 :容易被破解,基本不用在密码加密上 可以用在token令牌加密上
简单工具类:
public class Md5Util {
/**
* 根据输入的字符串生成固定的32位MD5码
*
* @param str
* 输入的字符串
* @return MD5码
*/
public final static String getMd5(String str) {
MessageDigest mdInst = null;
try {
mdInst = MessageDigest.getInstance("MD5");
} catch (NoSuchAlgorithmException e) {
e.printStackTrace();
}
mdInst.update(str.getBytes());// 使用指定的字节更新摘要
byte[] md = mdInst.digest();// 获得密文
return StrConvertUtil.byteArrToHexStr(md);
}
}
2、MD5加盐
通过加入随机盐值,大大提高了安全性
在服务器端不用反编译就可以进行判断
passwordUtil工具类,很好用
3、Des加密:安全性较MD5高很多
使用方法:
自定义密匙:
DesUtil des=new DesUtil("随便写");
把首次提交的密码经过des编码成不定长字符
String src1=des.encrypt(密码);
为了方便也有反编码的方法来看明文
String src2 des.decrypt(src1); 把字符变为密码明文
二、token令牌理解:
token:加密和解密的过程
和拦截器配置使用,可以完成用cookie免登录访问部分页面
token令牌的工作流程:
1.用户在登录页面输入账号密码,提交后,java后台进行一次验证,如果正确,则为用户制作token令牌
具体制作过程:
将传过来的值进行一个加密就可以了制作成token令牌了,一般来说,选用md5加密方式,参数方面,可以使用用户名+秘钥
2.将加密后的字符串传给前端
3.前端使用cookie保存token和用户名
4.使用拦截器,获取用户名和token,使用用户名再制作token,然后比对,如果一致就可以放行了
三、小课堂
基本准备好了
明天任务:
把任务5做完
困难:bug浪费好多时间 解决:积累经验吧
收获:上述
评论