BOS项目(SSH)03_04_登录功能--MD5加密、MD5加盐、EasyUI提示框和下拉菜单、登录退出功能、切换皮肤

系列文章目录

文章目录

MD5登录

MD5加密

我们在项目中,数据库中存储密码一般是不存储明文的,否则很不安全
一般使用MD5加密
MD5是不可逆的加密方式
首先先研究一下sql
sql(mySql)如下

insert into t_user(id,username,password) values (3,'wangwu',md5('123456'));

BOS项目(SSH)03_04_登录功能--MD5加密、MD5加盐、EasyUI提示框和下拉菜单、登录退出功能、切换皮肤

BOS项目(SSH)03_04_登录功能--MD5加密、MD5加盐、EasyUI提示框和下拉菜单、登录退出功能、切换皮肤
所以很简单,在代码里面原理是一样的,操作上稍有不同,因为musql是集成了MD5的加密
我们加密的方法要自己写
复制这段代码,到时候直接用这个类就行了

public class MD5Utils {

    public static String text2md5(String text) {

        try {
            MessageDigest digest = MessageDigest.getInstance("md5");
            byte[] bs = digest.digest(text.getBytes());
            String hexString = "";
            for (byte b : bs) {
                int temp = b & 255;
                if (temp < 16 && temp >= 0) {
                    hexString = hexString + "0" + Integer.toHexString(temp);
                } else {
                    hexString = hexString + Integer.toHexString(temp);
                }
            }
            return hexString;
        } catch (NoSuchAlgorithmException e) {
            e.printStackTrace();
        }
        return "";

    }
}

把代码整到这个utils包下来就行了很简单
BOS项目(SSH)03_04_登录功能--MD5加密、MD5加盐、EasyUI提示框和下拉菜单、登录退出功能、切换皮肤
一行代码搞定:
BOS项目(SSH)03_04_登录功能--MD5加密、MD5加盐、EasyUI提示框和下拉菜单、登录退出功能、切换皮肤
很简单,其实就是一行代码

MD5加盐

什么叫MD5加盐
意思就是如果用户设置了简单的密码
比如123456,我们一般回提示用户不能设置过于简单的密码
但是如果用户非要设置这种简单的密码,我们就得加盐
否则,很容易被别人破解
比如
123456——>md5
123456&234b1——>md5
我们给它加一段,即形象的说加盐
BOS项目(SSH)03_04_登录功能--MD5加密、MD5加盐、EasyUI提示框和下拉菜单、登录退出功能、切换皮肤
加的这段东西,别人就猜不出来是什么了,要我们内部开发人员才知道,即查看源码才知道,猜是难度非常之巨大的

EasyUI提示框和下拉菜单

提示框

什么叫提示框
BOS项目(SSH)03_04_登录功能--MD5加密、MD5加盐、EasyUI提示框和下拉菜单、登录退出功能、切换皮肤
BOS项目(SSH)03_04_登录功能--MD5加密、MD5加盐、EasyUI提示框和下拉菜单、登录退出功能、切换皮肤
我们要知道在easyUI里面提示框是怎么做的
怎么做的,首先要有思路
那就是首先看easyUI的源码
BOS项目(SSH)03_04_登录功能--MD5加密、MD5加盐、EasyUI提示框和下拉菜单、登录退出功能、切换皮肤
BOS项目(SSH)03_04_登录功能--MD5加密、MD5加盐、EasyUI提示框和下拉菜单、登录退出功能、切换皮肤
BOS项目(SSH)03_04_登录功能--MD5加密、MD5加盐、EasyUI提示框和下拉菜单、登录退出功能、切换皮肤
BOS项目(SSH)03_04_登录功能--MD5加密、MD5加盐、EasyUI提示框和下拉菜单、登录退出功能、切换皮肤
BOS项目(SSH)03_04_登录功能--MD5加密、MD5加盐、EasyUI提示框和下拉菜单、登录退出功能、切换皮肤
BOS项目(SSH)03_04_登录功能--MD5加密、MD5加盐、EasyUI提示框和下拉菜单、登录退出功能、切换皮肤
效果都点出来看看
我们看一下basic的源码
BOS项目(SSH)03_04_登录功能--MD5加密、MD5加盐、EasyUI提示框和下拉菜单、登录退出功能、切换皮肤
这个show拷贝一下就可以用

下拉框

BOS项目(SSH)03_04_登录功能--MD5加密、MD5加盐、EasyUI提示框和下拉菜单、登录退出功能、切换皮肤
BOS项目(SSH)03_04_登录功能--MD5加密、MD5加盐、EasyUI提示框和下拉菜单、登录退出功能、切换皮肤
BOS项目(SSH)03_04_登录功能--MD5加密、MD5加盐、EasyUI提示框和下拉菜单、登录退出功能、切换皮肤

BOS项目(SSH)03_04_登录功能--MD5加密、MD5加盐、EasyUI提示框和下拉菜单、登录退出功能、切换皮肤
BOS项目(SSH)03_04_登录功能--MD5加密、MD5加盐、EasyUI提示框和下拉菜单、登录退出功能、切换皮肤
BOS项目(SSH)03_04_登录功能--MD5加密、MD5加盐、EasyUI提示框和下拉菜单、登录退出功能、切换皮肤
BOS项目(SSH)03_04_登录功能--MD5加密、MD5加盐、EasyUI提示框和下拉菜单、登录退出功能、切换皮肤
BOS项目(SSH)03_04_登录功能--MD5加密、MD5加盐、EasyUI提示框和下拉菜单、登录退出功能、切换皮肤
效果如下
BOS项目(SSH)03_04_登录功能--MD5加密、MD5加盐、EasyUI提示框和下拉菜单、登录退出功能、切换皮肤

登录退出功能

需求
BOS项目(SSH)03_04_登录功能--MD5加密、MD5加盐、EasyUI提示框和下拉菜单、登录退出功能、切换皮肤
在session里面有存储用户信息,所以很简单
BOS项目(SSH)03_04_登录功能--MD5加密、MD5加盐、EasyUI提示框和下拉菜单、登录退出功能、切换皮肤
退出功能:
BOS项目(SSH)03_04_登录功能--MD5加密、MD5加盐、EasyUI提示框和下拉菜单、登录退出功能、切换皮肤
查找这个方法
BOS项目(SSH)03_04_登录功能--MD5加密、MD5加盐、EasyUI提示框和下拉菜单、登录退出功能、切换皮肤
BOS项目(SSH)03_04_登录功能--MD5加密、MD5加盐、EasyUI提示框和下拉菜单、登录退出功能、切换皮肤
BOS项目(SSH)03_04_登录功能--MD5加密、MD5加盐、EasyUI提示框和下拉菜单、登录退出功能、切换皮肤
BOS项目(SSH)03_04_登录功能--MD5加密、MD5加盐、EasyUI提示框和下拉菜单、登录退出功能、切换皮肤
BOS项目(SSH)03_04_登录功能--MD5加密、MD5加盐、EasyUI提示框和下拉菜单、登录退出功能、切换皮肤
根据struts的访问规则,我们可以得知,我们需要在UserAction里面去写一个logout方法
BOS项目(SSH)03_04_登录功能--MD5加密、MD5加盐、EasyUI提示框和下拉菜单、登录退出功能、切换皮肤
注意如果删了,在struts.xml配置文件里面对应的也要删掉,否则struts.xml里面会报错,会说找不到对应的类
那么在UserAction里面的loginout我们写什么呢
想想退出登录的思路是什么
是不是就是首先清除session,然后返回(跳转)到登录页面
下面看具体操作

BOS项目(SSH)03_04_登录功能--MD5加密、MD5加盐、EasyUI提示框和下拉菜单、登录退出功能、切换皮肤
因为userAction里面并没有配置login
BOS项目(SSH)03_04_登录功能--MD5加密、MD5加盐、EasyUI提示框和下拉菜单、登录退出功能、切换皮肤

所以在全局里面加上这个(注意必须要加上这个才有效)
BOS项目(SSH)03_04_登录功能--MD5加密、MD5加盐、EasyUI提示框和下拉菜单、登录退出功能、切换皮肤
然后就是测试了

切换皮肤的研究

BOS项目(SSH)03_04_登录功能--MD5加密、MD5加盐、EasyUI提示框和下拉菜单、登录退出功能、切换皮肤
BOS项目(SSH)03_04_登录功能--MD5加密、MD5加盐、EasyUI提示框和下拉菜单、登录退出功能、切换皮肤
BOS项目(SSH)03_04_登录功能--MD5加密、MD5加盐、EasyUI提示框和下拉菜单、登录退出功能、切换皮肤
观察源码可以得知,其实就是每一个主题都有每一个主题的css

上一篇:javaMD5加密


下一篇:c#-byte数组转换成16进制字符串和字符数组的方法