java 实现md5加密的三种方式
CreateTime--2018年5月31日15点04分
Author:Marydon
一、解密
Java没有实现解密,但有已有网站可以免费破解了!
见文末相关推荐
二、加密的三种方式
1.代码展示
import java.security.MessageDigest; import java.security.NoSuchAlgorithmException; import org.apache.commons.codec.digest.DigestUtils; /** * MD5技术加密解密 */ public class MD5Utils { /** * MD5加密之方法一 * * @description 借助apache工具类DigestUtils实现 * @param str * @return */ public static String encryptToMD5(String str) { return DigestUtils.md5Hex(str); } /** * MD5加密之方法二 * * @description java实现 * @param str * @return */ public static String encrypt2ToMD5(String str) { String strDigest = ""; try { // 此 MessageDigest 类为应用程序提供信息摘要算法的功能,必须用try,catch捕获 MessageDigest md5 = MessageDigest.getInstance("MD5"); // 转换为MD5码 byte[] data = md5.digest(str.getBytes("utf-8")); strDigest = bytesToHexString(data); } catch (Exception ex) { throw new RuntimeException(ex); } return strDigest; } /** * MD5加密之方法三 * * @description java实现 * @param str * @return */ public static String encrypt3ToMD5(String str) { byte[] digest = null; try { // 得到一个md5的消息摘要 MessageDigest md5 = MessageDigest.getInstance("MD5"); // 添加要进行计算摘要的信息 md5.update(str.getBytes()); // 得到该摘要 digest = md5.digest(); } catch (NoSuchAlgorithmException e) { e.printStackTrace(); } // 将摘要转为字符串 str = bytesToHexString(digest); return str; } /** * 将byte数组转换成16进制字符串 * * @param src * @return */ private static String bytesToHexString(byte[] src) { StringBuilder sb = new StringBuilder(); // 非空校验 if (src == null || src.length <= 0) { return null; } for (int i = 0; i < src.length; i++) { int v = src[i] & 0xFF; String hv = Integer.toHexString(v); if (hv.length() < 2) { sb.append(0); } sb.append(hv); } return sb.toString(); } }
2.测试
public static void main(String[] args) { String str = "Marydon"; System.out.println("MD5加密方法一:" + MD5Utils.encryptToMD5(str)); System.out.println("MD5加密方法二:" + MD5Utils.encrypt2ToMD5(str)); System.out.println("MD5加密方法三:" + MD5Utils.encrypt3ToMD5(str)); // 结束都是:988218e7eefcd86d5d855a8947f37f43 }
3.说明
方式一需要引jar包:commons-codec.jar
相关推荐:
- 类似文章
- 解密网站:https://somd5.com/