JSP MD5加密问题。麻烦帮忙看一下。

importjava.security.MessageDigest;publicclassMD5{/***将传入的字符串数据进行MD5加密*<p>*@param<b>pa... import java.security.MessageDigest;

public class MD5 {

/**
* 将传入的字符串数据进行MD5加密
* <p>
* @param <b>password</b> 待加密数据
* @return String 加密后的字符串
* @exception
*/
public static String toMD5(String m){
String algorithm = "MD5";
try{
MessageDigest digest= MessageDigest.getInstance(algorithm);
digest.update(m.getBytes());
return byte2hex(digest.digest());
}catch (Exception e){
e.printStackTrace();
return null;
}
}

/**
* 转换加密后数据
* <p>
* @param <b>b</b> 加密后的返回的字节数组
* @return String 转换后的16进制字符串
* @exception
*/
public static String byte2hex(byte[] b){
String result="";
String hex="";
for(int n = 0;n < b.length;n++){
hex=(java.lang.Integer.toHexString(b[n] & 0XFF));
if (hex.length()==1) result=result+"0"+hex;
else result=result+hex;
}
return result.toLowerCase();
}
public static void main(String args[]){
String tmp=toMD5("admin");
System.out.println(tmp);
String tmp2=byte2hex(tmp.getBytes());
System.out.println(toMD5(tmp2));
}

}

输出结果一直是
900150983cd24fb0d6963f7d28e17f72
900150983cd24fb0d6963f7d28e17f72

里面的admin改了任意的别的值 结果都一样,请问问题出在哪里
展开
 我来答
Caspar_wj
2011-09-05 · TA获得超过163个赞
知道小有建树答主
回答量:137
采纳率:0%
帮助的人:83.7万
展开全部
这个MessageDigest方法是单向加密的,是无法来解密的。
public static String byte2hex(byte[] b)你写的这个方法又不是解密的。你只不过把字符串变成byte[]数组结果又把它转回成字符串而已!
taoser5920
2011-09-05 · 超过10用户采纳过TA的回答
知道答主
回答量:42
采纳率:0%
帮助的人:12.5万
展开全部
在你网上找一个MD5加密的代码就行了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式