JAVA简单实现MD5注册登录加密实例代码

开发环境:jdk1.7,eclipse

框架:springmvc,mybatis

工具:maven

以下代码复制即可实现MD5加密

创建一个mave项目,加web。不懂得可以搜索一下就有了。

注册用户的JSP页面代码如下。

<%@ page language="java" contentType="text/html; charset=utf-8"
  pageEncoding="utf-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<script type="text/javascript" src="js/jQuery-2.2.0.min.js"></script>
<script type="text/javascript" src="md5/jquery.md5.js"></script>
<title>Insert title here</title>
</head>
<body>
<form action="insertUser" method="post" id="myForm">
    <table>
      <tr>
        <td>用户名:</td>
        <td>
        <input type="text" id="userName" name="user_name" >
        <input type="hidden" id="pwd" name="user_psw">
        <div id="userNameInfo"></div>
        </td>
      </tr>
      <tr>
        <td>密码:</td>
        <td><input type="text" id="password" name="password" onblur="mdjia()"></td>
      </tr>
      <tr>
        <td><input type="button" value="生成页面hash值" ></td>
        <td><input type="submit" value="添加用户"></td>
      </tr>
    </table>
  </form>
</body>
<script type="text/javascript">

function mdjia(){
  var password=$("#password").val();
  var pwd=$.md5(password);
  alert(pwd);
  $("#pwd").val(pwd);
}

</script>
</html>

需要你自己取建一个UserDto的类,我用的是UserDto的属性来传值的。

还要引入jQuery MD5,搜一下,我不知道怎么把这个文件传到这上面让你们下载。

JSP登陆页面的代码,

<%@ page language="java" contentType="text/html; charset=utf-8"
  pageEncoding="utf-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<script type="text/javascript" src="js/jQuery-2.2.0.min.js"></script>
<script type="text/javascript" src="md5/jquery.md5.js"></script>
<title>MD5加密</title>
</head>
<body>
<form action="authUser" method="post" id="myForm">
    <table>
      <tr>
        <td>用户名:</td>
        <td>
        <input type="text" id="userName" name="user_name" >
        <input type="hidden" id="pwd" name="user_psw">
        <div id="userNameInfo"></div>
        </td>
      </tr>
      <tr>
        <td>密码:</td>
        <td><input type="text" id="password" name="password" onblur="mdjia()"></td>
      </tr>
      <tr>
        <td><input type="button" value="生成页面hash值" ></td>
        <td><input type="submit" value="用户登录"></td>
      </tr>
    </table>
  </form>

</body>
<script type="text/javascript">

function mdjia(){
  var password=$("#password").val();
  var pwd=$.md5(password);
  alert(pwd);
  $("#pwd").val(pwd);
}

</script>
</html>

接着写后台代码

package com.test.controller;

import javax.annotation.Resource;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.servlet.ModelAndView;

import com.test.dao.UserDao;
import com.test.model.UserDto;
/**
 *
 * @author 半路出家
 *
 */
@Controller
public class UserLogin {
  @Resource
  UserDao userDao;
  /*
   * 添加用户
   */
  @RequestMapping("/insertUser")
  public ModelAndView insertUser(UserDto userDto){
    //进行加密,页面传过来的不是明文,是一个哈希值,对哈希再加密
    String s=userDto.getUser_psw();
    String smi=convertMD5(s);
    userDto.setUser_psw(smi);
    userDao.insertUser(userDto);
    return new ModelAndView("NewFile.jsp");
  }
  /*
   * 验证用户名
   */
  @RequestMapping("/authUser")
  public ModelAndView authUser(UserDto userDto){
    int i=0;
    //对用户登录传过来的哈希密码先进行加密
    String s=userDto.getUser_psw();
    String smi=convertMD5(s);
    //加密后,与数据库存储的密码进行比对
    userDto.setUser_psw(smi);
    try {
      i=userDao.login(userDto);
    } catch (Exception e) {
      // TODO Auto-generated catch block
      e.printStackTrace();
    }
    if(i==1){
      System.out.println("用户登录成功");
    }else{
      System.out.println("用户登录失败");
    }
    return new ModelAndView("NewFile.jsp");
  }

  /**
     * 加密解密算法 执行一次加密,两次解密
     */
  public static String convertMD5(String inStr){ 

    char[] a = inStr.toCharArray();
    for (int i = 0; i < a.length; i++){
      a[i] = (char) (a[i] ^ 't');
    }
    String s = new String(a);
    return s;
  }

}

这样就做了一个简单的MD5加密了。其他缺省的代码都很简单,就不都写出来了,看懂逻辑就会做了。

附上数据库中保存的密码是这样的。

JAVA简单实现MD5注册登录加密实例代码

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

时间: 2017-03-10

java编程基础之模仿用户登录代码分享

上一篇文章我们了解了Java背包问题求解实例代码,接下来我们看看Java中模仿用户登录的相关代码,下面是具体内容. 基于用户从控制台输入模拟的简陋用户登录验证Demo原理: 利用 Scanner 类中 nextLine() 提取用户从控制台输入的字符串信息 利用 String 类的 equals 方法进行用户输入验证 import java.util.Scanner; public class Login { public static void main(String[] args) { //

第三方网站微信登录java代码实现

前两个星期在公司中的项目加上了微信登录.绑定的功能,在这里做个记录! 一.开发前知识 1.微信开放平台与微信公众平台的区别 1.1 微信公众平台: ① 地址:https://mp.weixin.qq.com/cgi-bin/loginpage?t=wxm2-login&lang=zh_CN ② 微信公众平台面向的是普通的用户,比如自媒体和媒体,企业官方微信公众账号运营人员使用,当然你所在的团队或者公司有实力去开发一些内容,也可以调用公众平台里面的接口,比如自定义菜单,自动回复,查询功能. 1.2

Java中SSM+Shiro系统登录验证码的实现方法

 先给大家展示下效果图: 1.验证码生成类: import java.util.Random; import java.awt.image.BufferedImage; import java.awt.Graphics; import java.awt.Font; import java.awt.Color; /** * 验证码生成器类,可生成数字.大写.小写字母及三者混合类型的验证码. 支持自定义验证码字符数量: 支持自定义验证码图片的大小: 支持自定义需排除的特殊字符: * 支持自定义干扰线

Java Web之限制用户多处登录实例代码

最近在项目中遇到一个需求,要求限制单个用户在多个终端登录(比如用户在A处登录,然后又在B处登录,此时A处就应该被挤下线).<!--more-->最开始我是想使用spring的security直接通过配置实现,简单又方便.不过很可惜的是,我所做的项目使用的是公司封装的框架,依然在使用sprign2.X.好吧,既然这个方法行不通,那我自己老老实实写代码实现吧,想想网上实现的方法应该很多吧,度娘.谷歌走一波,果断很多,不过过去过来感觉都是同一个.还有就是什么使用application啊,sessio

java web中 HttpClient模拟浏览器登录后发起请求

HttpClient模拟浏览器登录后发起请求 浏览器实现这个效果需要如下几个步骤: 1请求一个需要登录的页面或资源 2服务器判断当前的会话是否包含已登录信息.如果没有登录重定向到登录页面 3手工在登录页面录入正确的账户信息并提交 4服务器判断登录信息是否正确,如果正确则将登录成功信息保存到session中 5登录成功后服务器端给浏览器返回会话的SessionID信息保存到客户端的Cookie中 6浏览器自动跳转到之前的请求地址并携带之前的Cookie(包含登录成功的SessionID) 7服务器

Java Web开发防止多用户重复登录的完美解决方案

目前web项目中,很多情况都是可以让同一个账户信息在不同的登录入口登录这次,这样子就不那么美好了. 推荐阅读: Java 多用户登录限制的实现方法 现在有两种解决方案: 1.将用户的登录信息用一个标志位的字段保存起来,每次登录成功就标记1,注销登录就标记为0,当标记为1的时候不允许别人登录. 2.将用户的登录信息保存在application内置作用域内, 然后利用session监听器监听每一个登录用户的登录情况. 很显然,第一种方式 每次登录 都需要操作数据库,多了一些不必要的性能开销,而且在登

JSP学习之Java Web中的安全控制实例详解

本文实例讲述了JSP学习之Java Web中的安全控制.分享给大家供大家参考.具体如下: 一.目标: ① 掌握登录之后的一般处理过程: ② 能够为每个页面添加安全控制: ③ 能够共享验证代码: ④ 使用过滤器对权限进行验证: ⑤ 能够对文件的局部内容进行验证: ⑥ 掌握安全验证码的基本实现方式: ⑦ 通过异常处理增强安全性. 二.主要内容: ① 通过修改前面的登录功能,分别对管理员和普通用户的登录进行处理: ② 为管理员才能访问的页面添加控制: ③ 共享各个页面中的控制代码,使用专门的文件,然后

java web中使用cookie记住用户的账号和密码

毕业设计中需要用到记住账号密码的功能,网上搜到了一个解决方案,自己稍加改造就是下面的方法. 首先是登录的页面,当用户勾选记住密码,传递给controller(我用的SSM框架),后台设置cookie的值,然后下次登录的时候就不用再次输入账号和密码了. login.jsp的代码: <%@page import="org.apache.commons.lang.StringUtils"%> <%@ page language="java" conten

java web中图片验证码功能的简单实现方法

用户在注册网站信息的时候基本上都要数据验证码验证.那么图片验证码功能该如何实现呢? 大概步骤是: 1.在内存中创建缓存图片 2.设置背景色 3.画边框 4.写字母 5.绘制干扰信息 6.图片输出 废话不多说,直接上代码 package com.lsgjzhuwei.servlet.response; import java.awt.Color; import java.awt.Font; import java.awt.Graphics; import java.awt.image.Buffer

Java Web中常用的分页组件(Java端实现)

 前言 好久没写Web程序了,这一段时间看了看原来师弟们做的一些程序,感觉还是有很多不足,一个比较典型的例子就是分页查询的实现,正好借着这个机会简单记录一下. 分析 使用场景 "分页"在Web程序里非常常见,比如我们在页面上经常要展示一些列表信息,通常情况下,如果数据过多,我们在一屏上难以罗列出所有的记录,而且很多时候我们可能只是看看比较Top的一些记录,因此,在这种情况下使用"分页"查询只展示部分数据是比较合适的. 实现原理 从数据库角度上来说,分页查询实现的难度

Java web含验证码及权限登录实例代码

所用到的开发工具为myeclipse10,MySQL数据库. 首先,在myeclipse中新建一个Java web项目. 项目的结构: 数据库结构: 下面将各个包中的代码粘贴出来. com.ningmeng.dao包 package com.ningmeng.dao; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLExcept

Java Web中解决路径(绝对路径与相对路径)问题

Java Web中解决路径问题: Java中使用的路径,分为两种:绝对路径和相对路径.归根结底,Java本质上只能使用绝对路径来寻找资源.所有的相对路径寻找资源的方法,都不过是一些便利方法.不过是API在底层帮助我们构建了绝对路径,从而找到资源的! 在开发Web方面的应用时, 经常需要获取 服务器中当前WebRoot的物理路径. 如果是Servlet , Action , Controller, 或则Filter , Listener , 拦截器等相关类时, 我们只需要获得ServletCont

浅谈java web中常用对象对应的实例化接口

1. request对象 是javax.servlet.HttpServletRequest接口的实例化 2. response对象 是javax.servlet.HttpServletResponse接口的实例化 3. session 对象 是javax.servlet.HttpSession接口的实例化 4. application对象 是javax.servlet.ServletContext接口的实例化 以上是常用的对象 5. pageContext对象 是javax.servlet.j

java web中的servlet3 upload上传文件实践

Servlet 3.0之前的版本中,文件上传是个挺让人头疼的问题,虽然有第三方框架来实现,但使用也还是比较麻烦,在Servlet 3.0中,这些问题将不复存在,Servlet 3.0对文件上传提供了直接支持,配合Servlet 3.0中基于Annotations的配置,大大简化上传件的操作. 一.javax.servlet.http中Part接口 public interface Part 要上传文件必须使用multipart/form-data作为request body. 版本: Servl