MD5加密问题
在注册的时候如何把密码进行加密??????
------解决方案--------------------网上很多有md5加密算法,你找下,然后在注册的时候加密,在登录的时候解密
------解决方案--------------------解密??
楼上的可以示范一下么?
------解决方案-------------------- 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()这个方法就能加密你的东西