发表于: 2017-12-07 21:34:32

1 955


今天完成的事情:

  • 1.使用DES对用户ID和登录时间加密

明天计划的事情:生成Token,放入Cookie中,拦截器里通过Cookie中判断Token的有效性来判断用户是否登录。


遇到的问题:加密这块不明白为什么我idea加密后的数据插到数据库里变了

收获:

des是什么?

DES的原始思想可以参照二战德国的恩尼格玛机,其基本思想大致相同。传统的密码加密都是由古代的循环移位思想而来,恩尼格玛机在这个基础之上进行了扩散模糊。但是本质原理都是一样的。现代DES在二进制级别做着同样的事:替代模糊,增加分析的难度。

DES算法把64位的明文输入块变为64位的密文输出块,它所使用的密钥也是64位(实际用到了56位,第8、16、24、32、40、48、56、64位是校验位, 使得每个密钥都有奇数个1),其算法主要分为两步:
1)初始置换
其功能是把输入的64位数据块按位重新组合,并把输出分为L0、R0两部分,每部分各长32位,其置换规则为将输入的第58位换到第一位,第50位换到第2位……依此类推,最后一位是原来的第7位。L0、R0则是换位输出后的两部分,L0是输出的左32位,R0是右32位,例:设置换前的输入值为D1D2D3……D64,则经过初始置换后的结果为:L0=D58D50……D8;R0=D57D49……D7。
其置换规则见下表:
58,50,42,34,26,18,10,2,
60,52,44,36,28,20,12,4,
62,54,46,38,30,22,14,6,
64,56,48,40,32,24,16,8,
57,49,41,33,25,17,9,1,
59,51,43,35,27,19,11,3,
61,53,45,37,29,21,13,5,
63,55,47,39,31,23,15,7,
2)逆置换
经过16次迭代运算后,得到L16、R16,将此作为输入,进行逆置换,逆置换正好是初始置换的逆运算,由此即得到密文输出。

此算法是对称加密算法体系中的代表,在计算机网络系统中广泛使用。

先建一个用户登陆表,应该包含用户名,密码,登陆时间

新建实体类,接口实现类等

我的mapper.xml用user实体类作为参数,方便jsp页面传值

login页面,姓名和密码输入框的name和实体类对应,在控制器中即能自动传入

这里判断用户名密码是否正确,由于之前用过前端ajax的方式做过查询数据,这次用后端的方法,熟悉一下

https://www.cnblogs.com/SHANKS-log/p/5031758.html

变成乱码了

乱码解决方法合集

http://blog.csdn.net/kalision/article/details/46441081/

在web.xml添加配置请求过滤器

添加一个登录失败提示

当用户名或密码错误,控制器返回modelandview添加一个错误提示

jsp

成功页面

再添加一个注册页面,在mapper.xml添加对应sql语句

...

登录注册页面

当我点击登录,他却自动去注册,不知为何,打断点调试

w

我的type是登录,他却并没有走到登录的条件块里,而是走到else里,很费解

然后我改成else if,发现明明type是登录,他却走到最后的else模块

后来想应该是堆栈的问题,百度看这篇文章懂了

https://www.cnblogs.com/zhmt/archive/2011/09/12/2174210.html

==比较的是两者的内存地址,equals比较的是两者的值,而字符串是引用类型,他所存放的是数据内存地址

没问题了

然后是md5和des加密

http://z2009zxiaolong.iteye.com/blog/1562197

先照着这个写一个测试类

这么看来似乎DES是可逆的,而MD5不能。如果不能解密,那加密后该怎么查询?

加盐加密:

使用DES对用户ID和登录时间加密,看到师兄日报密码用md5加密了,我也这么做

在用户注册里弄

之前的登录时间在sql里是bigint类型,要改成varchar,在idea里是long类型,要改成String

配置好后,把user表数据清除,重新注册

报错我转成des的name太长了

改成longtext后,我发现在idea加密后的数据和插入到数据库中的数据不一样了

蓦然回首,我加密了两次。。应该把下面的加密去掉

修改后又报错

我一步一步调试,蓦然回首,发现原来问题在这里

user是jsp页面传过来的,他只包含用户名和密码,这里我应该用userCheck,他通过getUserCountByNameAndPassowrd查询,得到id,userName,userPassword等所有数据

登陆成功,登陆时间改变

今天就到这,准备一下小课堂

禅道:http://task.ptteng.com/zentao/project-task-467.html





返回列表 返回列表
评论

    分享到