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程序设计有所帮助。
下一篇: 详解Mybatis的二级缓存配置