去下载apache commons codec的源码 里面有
http://commons.apache.org/codec/

解决方案 »

  1.   

    /*
     * EncodePassword.java
     * 2007-03-13
     *
     */import java.security.MessageDigest; //MD5 加密包
    import sun.misc.BASE64Decoder;
    import sun.misc.BASE64Encoder;
    /**
     * <p>MD5 加密</p>
     *
     * <p>将给定的字符串通过 MD5 算法加密</p>
     *
     * <p>Copyright: Copyright (c) 2007</p>
     *
     * <p>Company: sun</p>
     *
     * @author  yzsunlight
     * @version 1.0
     */
    public class Test {
        public Test() {
        }    /**
         * 把传递过来的 String 字符串通过 MD5 算法加密,
         * 然后返回加密后生成的字符串
         *
         * JDK 提供的 MD5 算法返回值是 byte[] 类型的,需要用 BASE64Encoder
         * 再次转换成 String 字符串
         *
         * @param password String  要加密的字段,这里指密码
         * @return String    返回加密后的字符串
         */
        public static String endcodPassword(String password) {
            String temp = "";
            try {
                //标准库中,只返回 byte[]
                MessageDigest md = MessageDigest.getInstance("MD5"); //定义MessageDigest对象
                md.update(password.getBytes()); //使用指定字节数组更新摘要
                //使用指定的字节数组对摘要进行最后更新,然后完成摘要计算
                byte[] byteTemp = md.digest(password.getBytes());
                //用非标准的库 sun.misc.* 进行 base64 转换
                BASE64Encoder b64encoder = new BASE64Encoder();
                temp = b64encoder.encode(byteTemp);
            } catch (java.security.NoSuchAlgorithmException e) {
                e.printStackTrace(); //打印错误信息;
                return null;
            }        return temp;
        }
        
        public static void main(String[] args) {
    System.out.println(endcodPassword("yzsunlight"));
    }}