MD5?加了密可就不能还原了    public static String md5Encode(String sData) throws UnsupportedEncodingException {
        MessageDigest md = null;
        try {
            md = MessageDigest.getInstance("MD5");
        } catch (NoSuchAlgorithmException e) {
            return null;
        }
        md.update(sData.getBytes("UTF-8"));
        byte[] r = md.digest();
        StringBuffer sb = new StringBuffer();
        for (int i = 0; i < r.length; i++) {
            byte b = r[i];
            sb.append(Character.forDigit((b >> 4 & 0x0F), 16));
            sb.append(Character.forDigit((b & 0x0F), 16));
        }
        return sb.toString();
    }

解决方案 »

  1.   

    给你个完整的代码吧!
    先写个加密的类
    import java.security.MessageDigest;
    import java.security.NoSuchAlgorithmException;
    public class MD5class {
        public static String MD5Encrypt(String inStr)
        {  MessageDigest md = null;  String outStr = null;
            try {   md = MessageDigest.getInstance("MD5");
                //可以选中其他的算法如SHA
                byte[] digest = md.digest(inStr.getBytes());
                //返回的是byet[],要转化为String存储比较方便
                outStr = bytetoString(digest);
            } catch (NoSuchAlgorithmException nsae) {
                nsae.printStackTrace();
            }
            return outStr;
                }
                public static String bytetoString(byte[] digest) {
                    String str = "";
                    String tempStr = "";
                    for (int i = 1; i < digest.length; i++) {
                        tempStr = (Integer.toHexString(digest[i] & 0xff));
                        if (tempStr.length() == 1) {
                            str = str + "0" + tempStr;
                        } else {
                            str = str + tempStr;
                        }
                    }
                    return str.toLowerCase();
                }}
    其他页面涉及到密码的都调用这个类
    String pw=MD5class.MD5Encrypt(password);