手机站
网通分站
电信主站
密 码:
用户名:
当前位置 : 主页>程序设计>Java技术>列表

一个实现MD5的简洁的java类

来源:互联网 作者:west263.com 时间:2008-02-23
西部数码-全国虚拟主机10强!40余项虚拟主机管理功能,全国领先!双线多线虚拟主机南北访问畅通无阻!免费赠送企业邮局,.CN域名,自助建站480元起,免费试用7天,满意再付款! P4主机租用799元/月.月付免压金!
由于消息摘要唯一性和不可逆性的特点,所以不失为一种简单的常用的加密手段,比如你可以用md5来加密你的应用中的用户口令。

  1. package test;
  2. import Java.security.MessageDigest;
  3. /**
  4. * <p>Title: </p>
  5. * <p>Description: </p>
  6. * <p>Copyright: Copyright (c) 2003</p>
  7. * <p>Company: </p>
  8. * @author unascribed
  9. * @version 1.0
  10. */
  11. public class StringUtil {
  12. private final static String[] hexDigits = {
  13. "0", "1", "2", "3", "4", "5", "6", "7",
  14. "8", "9", "a", "b", "c", "d", "e", "f"};
  15. /**
  16. * 转换字节数组为16进制字串
  17. * @param b 字节数组
  18. * @return 16进制字串
  19. */
  20. public static String byteArrayToHexString(byte[] b) {
  21. StringBuffer resultSb = new StringBuffer();
  22. for (int i = 0; i < b.length; i ) {
  23. resultSb.append(byteToHexString(b[i]));
  24. }
  25. return resultSb.toString();
  26. }
  27. private static String byteToHexString(byte b) {
  28. int n = b;
  29. if (n < 0)
  30. n = 256 n;
  31. int d1 = n / 16;
  32. int d2 = n % 16;
  33. return hexDigits[d1] hexDigits[d2];
  34. }
  35. public static String MD5Encode(String origin) {
  36. String resultString = null;
  37. try {
  38. resultString=new String(origin);
  39. MessageDigest md = MessageDigest.getInstance("MD5");
  40. resultString=byteArrayToHexString(md.digest(resultString.getBytes()));
  41. }
  42. catch (Exception ex) {
  43. }
  44. return resultString;
  45. }
  46. public static void main(String[] args){

    文章整理:西部数码--专业提供域名注册虚拟主机服务
    http://www.west263.com
    以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!