在注册的时候如何把密码进行加密??????

解决方案 »

  1.   


    import java.math.BigInteger;
    import java.security.MessageDigest;
    import java.util.ArrayList;
    import java.util.List;
    public class MD5 {
    /*
     * 用于生成MD5 (String... ) 是JDK5.0的好东西 就是代表可以传入不定长的参数
     */
    public static String genMd5(String... strs) throws Exception {
    String str = "";
    //拼接字符串
    if(strs != null ||strs.length>0) 
    {
    for(int i = 0;i<strs.length;i++)
    {
    str+=strs[i];
    if(i != strs.length-1)
    {
    str += ",";
    }
    }
    // 输入不能为空


    // 指定采用MD5算法 MessageDigest algorithm = MessageDigest.getInstance("MD5"); // 按照系统缺省的字符编码方式把str 转换成字节,并把结果存到一新的字节数组buffer中
    byte buffer[] = str.getBytes(); // 从指定的字节数组buffer的偏移量0开始,用指定的字节数组修改由str生成摘要
    // count为从 0 开始用的字节数长度。
    for (int count = 0; count < str.length(); count++) {
    algorithm.update(buffer, 0, count);
    } // 通过执行最后的诸如填充的操作完成散列码的计算。 在调用之后复位该摘要
    // 返回存放结果散列值的字节数组bDigest   75e10e05848b790538ab08a8c2cd6b05 byte bDigest[] = algorithm.digest(); // 将bDigest转换为大整数bi
    BigInteger bi = new BigInteger(bDigest); // 返回bi字符串表示,即最终的编码结果
    return (bi.toString(16));
    }
    return String.valueOf(System.currentTimeMillis());
    }
    public static void main(String[] args)
    {
    List<String> list = new ArrayList<String>();
    list.add("liudehua");
    list.add("23");
    list.add("1231212");
    list.add("asdwea"); try {
    String n = MD5.genMd5(list.get(0));

    System.out.println(n);

    } catch (Exception e) {
    // TODO 自动生成 catch 块
    e.printStackTrace();
    }

    }
    }
    参考这段代码 调用genMd5()这个方法就能加密你的东西