一个关于密码加密的问题
我在做一个电话薄系统,要求凡是涉及到密码的地方,必须用md5加密,但我实在不知道如何做,请哪位高手指点一下。 问题点数:50、回复次数:8Top
1 楼sdxlh007(海)回复于 2006-07-04 08:57:20 得分 0
写个加密的方法,要用的时候就调用这个方法,把要加密的字符串传进去Top
2 楼dingkui()回复于 2006-07-04 09:04:37 得分 0
把MD5算法放进一个静态方法,输入密码的地方调用该方法就可以了
菜鸟小见!Top
3 楼hanb99(寒冰)回复于 2006-07-04 09:15:50 得分 0
具体要用哪个函数,谢谢Top
4 楼binny(骑个破车看夕阳)回复于 2006-07-04 09:29:46 得分 20
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();
}Top
5 楼yougucao379548695(郑州-小刘)回复于 2006-07-04 09:41:18 得分 30
给你个完整的代码吧!
先写个加密的类
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);
Top
6 楼hanb99(寒冰)回复于 2006-07-04 10:26:15 得分 0
多谢了,各位大侠Top
7 楼dixing(埋头苦干)回复于 2006-07-04 11:36:27 得分 0
有没有办法还原阿?这样才完美阿..Top
8 楼hanb99(寒冰)回复于 2007-04-05 21:28:44 得分 0
不好意思,好久没上来看了Top




