MD5的全称是Message-Digest Algorithm 5(信息-摘要算法),在90年代初由MIT Laboratory for Computer Science和RSA Data Security Inc的Ronald L. Rivest开发出来,经MD2、MD3和MD4发展而来。
MD5 算法底层原理,简单概括起来,MD5 算法的过程分为四步:处理原文,设置初始值,循环处理分组数据,拼接结果。
这里我们用Java自带的MessageDigest工具类实现:
/*** 获得Md5加密** @param str 原字符串* @return 加密后的字符串*/public static String strToMd5(String str) {String md5Str = null;if (str != null && str.length() != 0) {try {//获取md5对象MessageDigest md = MessageDigest.getInstance("MD5");//将字符串转换为字节数组md.update(str.getBytes());//信息摘要对象对字节数组进行摘要,得到摘要字节数组byte b[] = md.digest();int i;StringBuffer buf = new StringBuffer("");//把摘要数组的每一个字节转换成16进制for (int offset = 0; offset < b.length; offset++) {i = b[offset];if (i < 0) {i += 256;}if (i < 16) {buf.append("0");}//将字节数组转换为16进制字符串buf.append(Integer.toHexString(i));}//32位md5Str = buf.toString();//16位//md5Str = buf.toString().substring(8, 24);} catch (NoSuchAlgorithmException e) {e.printStackTrace();}}return md5Str;}
详细学习参考:/JunhuiXie/article/details/100630841
如果觉得《MD5加密——使用Java自带的MessageDigest工具类实现》对你有帮助,请点赞、收藏,并留下你的观点哦!