| 网站首页 | 新闻中心 | 系统安全 | 网络安全 | 安全技术 | 下载中心 | 
课件制作网.
收藏本站
设为首页
安全365
MD5加密及Java的实现方式
MD5加密及Java的实现方式
作者:佚名 文章来源:不详 点击数: 更新时间:2007-1-25 13:43:54
首先
我看到很多贴子,上面描述MD5加密解密等话题,因此写此文章为了把MD5加密问题简单的说个透彻,并且给大家已经实践过的代码。

其次
MD5加密并不是把原文加密,这个大家得注意,既然没有把原文加密何来的解密呢?简直是个笑话。MD5的用途就是把一段原文数据通过一定的算法生成16字节的密文,通过这个密文我们可以检查原文的数据是否被修改过。常用在网络中明文数据传输,防止传输过程中内容被恶意修改。典型的应用协议为radius,radius协议中有16byte就是MD5所留的,把用户的密码加在报文尾部进行MD5,把结果存在网络中,所以明文部分看不到用户的密码,当服务器收到此包,用同样的方法进行MD5,如果加密出来的16byte一样,说明是有效的未被恶意修改的网络包。

最后
附上实现的代码
import java.security.*;

public class MD5 {
 /**
 * MD5
 *
 * @author Dreamer
 */
 public MD5() {
 }

 public static byte[] md5(byte[] in) {
 MessageDigest md = null;
 byte[] out = new byte[16];
 try {
 md = MessageDigest.getInstance("MD5");
 }
 catch (NoSuchAlgorithmException ex) {
 System.out.println(ex.toString());
 }
 md.reset();
 md.update(in);
 out = md.digest();
 return out;
 }

 public static byte[] md5(byte[] in, int len) {
 MessageDigest md = null;
 byte[] out = new byte[16];
 try {
 md = MessageDigest.getInstance("MD5");
 }
 catch (NoSuchAlgorithmException ex) {
 System.out.println(ex.toString());
 }
 md.reset();
 md.update(in, 0, len);
 out = md.digest();
 return out;
 }

}
【转自世纪安全网 http://www.21safe.com】
文章录入:admin    责任编辑:admin 
  • 上一篇文章:

  • 下一篇文章:
  • 【字体: 】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
      网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)
     
     
     
    多个Comdev产品adminfoo
    IBM DB2握手协议拒绝服务
    Comdev eCommerce中inde
    AMD与微软达成推广64位计
    Exim dns_buld_reverse(
    AMD为FANS搭建专门网站 
    AMD为FANS搭建专门网站 
    Exim dns_buld_reverse(
    改mdb为asp所带来的灾难
    网友精辟分析!D50与D70

    Copyright © 2006-2008 www.anquan365.com 安全365
    建议使用1024*768分辨率及第三方浏览器对本站进行浏览