谁有struts2 项目 注册用户时的 MD5加密代码示例  action 和jsp页面的写法

解决方案 »

  1.   

    是所有的用户信息都要MD5加密 还是只要密码加密?
    跟一般的用户注册没什么区别  就是存入数据库的时候用MD5加密
      

  2.   

    jsp不用。只需要把传入过来的pass加密就行了。很简单的,给你提供个方法,直接套用就行
    public final static String MD5(String s) {
    char hexDigits[] = { '0', '1', '2', '3', '4', '5', '6', '7', '8', '9',
    'a', 'b', 'c', 'd', 'e', 'f' };
    try {
    byte[] strTemp = s.getBytes();
    MessageDigest mdTemp = MessageDigest.getInstance("MD5");
    mdTemp.update(strTemp);
    byte[] md = mdTemp.digest();
    int j = md.length;
    char str[] = new char[j * 2];
    int k = 0;
    for (int i = 0; i < j; i++) {
    byte byte0 = md[i];
    str[k++] = hexDigits[byte0 >>> 4 & 0xf];
    str[k++] = hexDigits[byte0 & 0xf];
    }
    return new String(str);
    } catch (Exception e) {
    return null;
    }
    }
      

  3.   


    import java.security.MessageDigest;import sun.misc.BASE64Encoder;public class MessageDigestUtil {
    public static String digestByMD5(String str) throws Exception{
    //采用MD5加密算法,将任意长度字符串加密
    MessageDigest md = MessageDigest.getInstance("MD5");
    byte[] bts = md.digest(str.getBytes());
    //采用Base64算法,将加密后的字节变成字符串
    BASE64Encoder encoder = new BASE64Encoder();
    return encoder.encode(bts);
    }

    public static void main(String[] args) throws Exception{
    System.out.println(digestByMD5("abc"));
    System.out.println(digestByMD5("1231233223"));
    System.out.println(digestByMD5("a"));
    }


    }直接把前台获得的密码在保存的时候调用一下就行比如
    // 密码加密
            String pwd = MessageDigestUtil.digestByMD5(password);
            user.setPassword(pwd);
            XXXService.save(user);
      

  4.   

    如果用的mysql 可一直直接用自带函数入:
    insert into user(name,password) values('zhangsan',MD5('123456'));
      

  5.   


    package com.cissst.dsan.common;import java.security.MessageDigest;
    import java.security.NoSuchAlgorithmException;public class MD5 {
    // MD5加密算法,对密码进行加密
    public static String MD5Password(String oldstr) { char hexDigits[] = { '0', '1', '2', '3', '4', '5', '6', '7', '8', '9',
    'a', 'b', 'c', 'd', 'e', 'f' }; byte[] oldbytes = oldstr.getBytes();
    try {
    MessageDigest md = MessageDigest.getInstance("MD5");// 获取对象
    md.update(oldbytes);// 初始化对象
    byte[] newBytes = md.digest();// 运行加密算法
    char[] newStr = new char[32];
    for (int i = 0; i < 16; i++) {
    byte temp = newBytes[i];
    newStr[2 * i] = hexDigits[temp >>> 4 & 0xf];
    newStr[2 * i + 1] = hexDigits[temp & 0xf]; }
    return new String(newStr);
    } catch (NoSuchAlgorithmException e) {
    return null;
    } }
    public static void main(String[] args){
    System.out.print(MD5Password("123456"));
    if(MD5Password("123456").equals(MD5Password("123456"))){
    System.out.println("相等");

    }
    }
    }