安全机制MD5算法的JAVA包运用

本文介绍了一种使用Java的MessageDigest类实现MD5加密的方法。通过具体代码展示了如何对字符串进行MD5加密处理,并提供了将字节数组转换为16进制字符串的辅助函数。
 
java.security中的MessageDigest类有提供MD5SHA算法.
 
import java.security.*;
/**
 *<p>Title:自助终端监控view4.0.0</p>
 *<p>Description:提供hashMD5算法加密</p>
 *<p>Copyright:Copyright(c)2006</p>
 *<p>Company:GRGBankingCo.,Ltd.</p>
 *@version1.0
 */
 
publicclass HashUtil
{
 privatestatic MessageDigest digest = null;
 
 public HashUtil()
 {
 }
//------------------------------------------------------------------------------
/**
 *对字符串进行HASH(MD5)加密,注意,加密结果不可逆
 
 *@paramdata待加密数据
 
 *@return加密结果
 */
 public synchronizedstaticfinal String hash(String data)
 {
      if (digest == null)
      {
        try
        {
          digest = MessageDigest.getInstance("MD5");
        }
        catch (NoSuchAlgorithmException nsae)
        {
          System.err.println("Failed to load the MD5 MessageDigest. ");
          nsae.printStackTrace();
        }
      }
      digest.update(data.getBytes());
      return encodeHex(digest.digest());
 }
//------------------------------------------------------------------------------
/**
 *将数组转换成16进制字符串
 
 *@parambytes
 *@return
 */
   publicstaticfinal String encodeHex(byte[] bytes)
   {
       StringBuffer buf = new StringBuffer(bytes.length * 2);
       for (int i = 0; i < bytes.length; i++)
       {
           if (((int) bytes[i] & 0xff) < 0x10)
           {
                   buf.append("0");
           }
           buf.append(Long.toString((int) bytes[i] & 0xff, 16));
       }
       return buf.toString();
    }
//------------------------------------------------------------------------------
}
 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值