欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

java实现MD5加密的方法小结

程序员文章站 2024-02-24 17:22:28
本文实例讲述了java实现md5加密的方法。分享给大家供大家参考,具体如下: private string getmd5str(string str) {...

本文实例讲述了java实现md5加密的方法。分享给大家供大家参考,具体如下:

private string getmd5str(string str) {
    messagedigest messagedigest = null;
    try {
      messagedigest = messagedigest.getinstance("md5");
      messagedigest.reset();
      messagedigest.update(str.getbytes("utf-8"));
    } catch (nosuchalgorithmexception e) {
      system.out.println("nosuchalgorithmexception caught!");
      system.exit(-1);
    } catch (unsupportedencodingexception e) {
      e.printstacktrace();
    }
    byte[] bytearray = messagedigest.digest();
    stringbuffer md5strbuff = new stringbuffer();
    for (int i = 0; i < bytearray.length; i++) {
      if (integer.tohexstring(0xff & bytearray[i]).length() == 1)
        md5strbuff.append("0").append(integer.tohexstring(0xff & bytearray[i]));
      else
        md5strbuff.append(integer.tohexstring(0xff & bytearray[i]));
    }
    return md5strbuff.tostring();
}

方法二

import java.security.messagedigest;
public class test_md5{
  public final static string md5(string s) {
    char hexdigits[] = { '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'a', 'b', 'c', 'd', 'e', 'f' };
    try {
      byte[] strtemp = s.getbytes();
      //使用md5创建messagedigest对象
      messagedigest mdtemp = messagedigest.getinstance("md5");
      mdtemp.update(strtemp);
      byte[] md = mdtemp.digest();
      int j = md.length;
      char str[] = new char[j * 2];
      int k = 0;
      for (int i = 0; i < j; i++) {
        byte b = md[i];
        //system.out.println((int)b);
        //将没个数(int)b进行双字节加密
        str[k++] = hexdigits[b >> 4 & 0xf];
        str[k++] = hexdigits[b & 0xf];
      }
      return new string(str);
    } catch (exception e) {
      return null;
    }
  }
  //测试
  public static void main(string[] args) {
    system.out.println("caidao的md5加密后:/n"+test_md5.md5("caidao"));
    system.out.println("http://www.baidu.com/的md5加密后:/n"+test_md5.md5("http://www.baidu.com/"));
  }
}

ps:关于加密解密感兴趣的朋友还可以参考本站在线工具:

文字在线加密解密工具(包含aes、des、rc4等):

md5在线加密工具:
http://tools.jb51.net/password/createmd5password

在线散列/哈希算法加密工具:

在线md5/hash/sha-1/sha-2/sha-256/sha-512/sha-3/ripemd-160加密工具:

在线sha1/sha224/sha256/sha384/sha512加密工具:

更多关于java相关内容感兴趣的读者可查看本站专题:《java数学运算技巧总结》、《java数据结构与算法教程》、《java字符与字符串操作技巧总结》、《java操作dom节点技巧总结》和《java缓存操作技巧汇总

希望本文所述对大家java程序设计有所帮助。