系列文章目录
MD5登录
MD5加密
我们在项目中,数据库中存储密码一般是不存储明文的,否则很不安全
一般使用MD5加密
MD5是不可逆的加密方式
首先先研究一下sql
sql(mySql)如下
insert:
insert into t_user(id,username,password) values (3,'wangwu',md5('123456'));
再研究一下update查询如下
数据库里面的密码实际上变成MD5加密的了,此时如果登录的时候我们的代码里面依旧不做任何处理,那么永远也登录不上
因为123 不等于 202cb962ac59075b964b07152d234b70(虽然也是123,但是是加密后的123)
其实很简单,在代码里面原理是一样的,我没也输入密码的时候加密就行了,操作上稍有不同,因为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包下来就行了很简单
其实在这里也行,但是破坏了代码的规范性,逻辑代码应该在三层里面去写,这里的业务代码应该写在service层
所以删掉,我们在service层去处理
一行代码搞定:
很简单,其实就是一行代码
MD5加盐
什么叫MD5加盐
意思就是如果用户设置了简单的密码
比如123456,我们一般回提示用户不能设置过于简单的密码
但是如果用户非要设置这种简单的密码,我们就得加盐
否则,很容易被别人破解
比如
123456——>md5
123456&234b1——>md5
我们给它加一段,即形象的说加盐
加的这段东西,别人就猜不出来是什么了,要我们内部开发人员才知道,即查看源码才知道,猜是难度非常之巨大的
改成
拼接上一个“盐”
知道怎么加就行了,记住插入数据的的时候,也要加,这里我们暂时不加了
EasyUI提示框和下拉菜单
提示框
什么叫提示框
我们要知道在easyUI里面提示框是怎么做的
怎么做的,首先要有思路
那就是首先看easyUI的源码
效果都点出来看看
我们看一下basic的源码
这个show拷贝一下就可以用
下拉框
效果如下
登录退出功能
需求
在session里面有存储用户信息,所以很简单
退出功能:
查找这个方法
根据struts的访问规则,我们可以得知,我们需要在UserAction里面去写一个logout方法
注意如果删了,在struts.xml配置文件里面对应的也要删掉,否则struts.xml里面会报错,会说找不到对应的类
那么在UserAction里面的loginout我们写什么呢
想想退出登录的思路是什么
是不是就是首先清除session,然后返回(跳转)到登录页面
下面看具体操作
因为userAction里面并没有配置login
加一个其实也可以,但是这种不能显示出我没装逼的能力,学习另外一种方式
上面这个红框里面的做法,我们删掉,看另外一种方式
在全局里面加上这个(注意必须要加上这个才有效)
如果不加这个重定向,虽然也能退出,但是则地址不会改变,就会比较怪异
所以重定向是会改变地址的,而默认的转发不会
然后就是测试了
切换皮肤的研究
观察源码可以得知,其实就是每一个主题都有每一个主题的css
注意
重定向是会改变地址栏的,而转发不会
默认都是转发,但是可以改成重定向
例如