用md5或者其他的加密算法
比如你输入的是 userpwd 经过md5加密以后SecurityMD5.MD5Encode(userpwd );保存进数据库,验证的时候同样把你输入的密码:加密过后去查数据库
/**
 *md5加密算法2007-2-15
 */
package com.stock.function;import org.apache.log4j.Logger;import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
import java.io.*;
public class SecurityMD5 {
/**
 * Logger for this class
 */
private static final Logger logger = Logger.getLogger(SecurityMD5.class);    private final static String[] hexDigits = {
       "0", "1", "2", "3", "4", "5", "6", "7",
       "8", "9", "a", "b", "c", "d", "e", "f"};
   private static String byteArrayToHexString(byte[] b) {
     StringBuffer resultSb = new StringBuffer();
     for (int i = 0; i < b.length; i++) {
       resultSb.append(byteToHexString(b[i]));
     }
     return resultSb.toString();
   }
   private static String byteToHexString(byte b) {
     int n = b;
     if (n < 0)
       n = 256 + n; 
     int d1 = n / 16;
     int d2 = n % 16;
     return hexDigits[d1] + hexDigits[d2];
   }
   public static String MD5Encode(String password){
    MessageDigest md = null;
    try {
        md = MessageDigest.getInstance("MD5");
    } catch (NoSuchAlgorithmException ex) {
if (logger.isDebugEnabled()) {
logger.debug("MD5Encode(String) - " + ex.getMessage());
}
    }
    String newPassword = null;
    try {
        newPassword = byteArrayToHexString(md.digest(password.getBytes("gb2312")));
    } catch (UnsupportedEncodingException ex1) {
if (logger.isDebugEnabled()) {
logger.debug("MD5Encode(String) - " + ex1.getMessage());
}
    }
       return newPassword;
   }
}

解决方案 »

  1. 《JSF第一步》上有这方面的介绍,希望能对你有所帮助。
      

  2. MD5不过,出于数据传输的安全考虑,一般是在页面上先MD5加密,然后再传输到服务器进行验证。 
      

  3. 如果用MD5进行注册密码,那么忘记密码了怎么办?我觉得应该用DES。你可以去网上搜一下代码,很多。
      

类似问题 »