当前位置: 移动技术网 > IT编程>开发语言>Java > java实现MD5加密的方法小结

java实现MD5加密的方法小结

2019年07月19日  | 移动技术网IT编程  | 我要评论

本文实例讲述了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在线加密工具:

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

在线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程序设计有所帮助。

如对本文有疑问, 点击进行留言回复!!

相关文章:

验证码:
移动技术网