标题:[原创]MD5算法
只看楼主
xiuyuan123
Rank: 2
等 级:新手上路
威 望:3
帖 子:140
专家分:0
注 册:2006-4-25
 问题点数:0 回复次数:0 
[原创]MD5算法
public String MD5(String sInput)
throws Exception{

String algorithm="";
//输入不能为空
if(sInput.trim()==null){
return "null";
}

//指定采用MD5算法
try{
algorithm=System.getProperty("MD5.algorithm","MD5");
}catch(SecurityException se){
}

//定义MessageDigest对象
MessageDigest md=MessageDigest.getInstance(algorithm);

//按照系统缺省的字符编码方式把sInput 转换成字节,并把结果存到一新的字节数组buffer中
byte buffer[]=sInput.getBytes();

//从指定的字节数组buffer的偏移量0开始,用指定的字节数组修改由sInput生成摘要
//count为从 0 开始用的字节数长度。
for(int count=0;count<sInput.length();count++)
{
md.update(buffer,0,count);
}

//通过执行最后的诸如填充的操作完成散列码的计算。 在调用之后复位该摘要
//返回存放结果散列值的字节数组bDigest
byte bDigest[]=md.digest();

//将bDigest转换为大整数bi
BigInteger bi=new BigInteger(bDigest);

//返回bi字符串表示,即最终的编码结果
return(bi.toString(16));
}
搜索更多相关主题的帖子: MD5算法 algorithm String sInput 
2006-05-27 13:02



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-67692-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.249848 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved