发表于: 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浪费好多时间   解决:积累经验吧


收获:上述










返回列表 返回列表
评论

    分享到