第十五章 加密算法实例1--注册登录(消息摘要算法)
2017-07-13 11:49
176 查看
15.1、原理步骤
- 注册:注册时,将用户密码加密放入数据库
- 登录:登录时,将用户密码采用上述相同的算法加密,之后再与数据库中的信息进行比对,若相同,则登录
15.2、实现(这里采用了SHA256算法,其他摘要算法MD5/SHA1/MAC类似)
注意:这里的程序是在我之前写的一个maven+spring+springmvc+mybatis+velocity整合的文章上进行的修改,具体的框架搭建以及数据库表结构等就不再啰嗦了,自己参考下边这篇博客:
https://www.geek-share.com/detail/2662813881.html
这里只列出Java类。整个代码结构如下:
package com.xxx.service; import java.io.UnsupportedEncodingException; import java.security.NoSuchAlgorithmException; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import com.util.encoder.ShaEncoder; import com.xxx.dao.UserDAO; import com.xxx.model.User; @Service public class UserService { private static final String SALT = "nana";//盐 @Autowired private UserDAO userDao; public boolean register(String username, String password){ User user = new User(); user.setUsername(username); try { user.setPassword(ShaEncoder.encodeSHAHex(SALT+password));//对加盐的密码进行sha256加密 } catch (NoSuchAlgorithmException e) { e.printStackTrace(); } catch (UnsupportedEncodingException e) { e.printStackTrace(); } return userDao.register(user); } public User login(String username, String password) { User user = null; try { user = userDao.login(username, ShaEncoder.encodeSHAHex(SALT+password));//对加盐的密码进行sha256加密 } catch (NoSuchAlgorithmException e) { e.printStackTrace(); } catch (UnsupportedEncodingException e) { e.printStackTrace(); } return user; } }View Code 当然,这里的盐是一个固定的字符串(在实际使用中,这样的做法最为常见),我们也可以对每个登录的用户使用他自己的姓名作为盐(这样每个人的盐就不一样了)。
相关文章推荐
- 第十五章 加密算法实例1--注册登录(消息摘要算法)
- 第十五章 加密算法实例1--注册登录(消息摘要算法)
- [SqlServer]用户注册、登录、修改密码存储过程实例
- javaBean【06】实例强化:登录注册
- JavaWeb实现用户登录注册功能实例代码(基于Servlet+JSP+JavaBean模式)
- python实例:Django实现登录、注册
- Asp.Mvc 2.0用户登录实例讲解---(1)用户注册
- php实例——用户注册与登录
- jsp基于XML实现用户登录与注册的实例解析(附源码)
- 第五周第四天(doPOST实例【注册、登录、检索】)
- PC 端微信扫码注册和登录实例
- 9 完整的用户注册登录实例
- [Android实例] android注册 登录+修改帐号密码+添加资料+给指定帐号充值 .....
- ThinkPHP之用户注册登录留言完整实例
- jsp基于XML实现用户登录与注册的实例解析(附源码)
- [SqlServer]用户注册、登录、修改密码存储过程实例
- ThinkPHP之用户注册登录留言完整实例
- jquery mobile实例---实例、登录与注册的实现、简介美观
- JavaBean实例训练2:编写JavaBean,实现用户登录、注册。
- IOS 实例一 登录注册界面搭建