创建一个MD5的工具类,然后添加这个方法
public static String getMD5(String value) throws NoSuchAlgorithmException {MessageDigest md5=MessageDigest.getInstance("MD5");// 对密码摘要后进行Base 64的转码,方便存储return Base64.encodeBase64String(md5.digest(value.getBytes()));}
紧接着我们可以先测试一波看看能否加密成功,测试代码为
public static void main(String[] args) {String md5 = null;try {md5 = getMD5("1234");} catch (NoSuchAlgorithmException e) {e.printStackTrace();}System.out.println("md5 = " + md5);}
可以看到控制台输出: gdyb21LQTcIANtvYMT7QVQ== 表示加密成功
但是这种方法也不安全,因此我们可以拿着这个密文去尝试一下解密
可以看到我们的密文被反向查询到了,为了提高密码的安全性,我们可以使用加盐策略,即在我们在密码进行摘要时,传入我们自定义的盐值
public static String getMD5(String value) throws NoSuchAlgorithmException {MessageDigest md5=MessageDigest.getInstance("MD5");// 对密码摘要后进行Base 64的转码,方便存储return Base64.encodeBase64String(md5.digest((value+"小黑孩666").getBytes()));}
原先是 md5.digest(value.getBytes())
现在加入自定义盐值后为: md5.digest((value+"小黑孩666").getBytes())
紧接着我们再进行测试得到密文为:t0GogEtYK8pMgSSjd/K9Sg==
拿着这个密文再去进行解密
此时MD5加密工具类就完成了
如果觉得《用Java实现Md5加密工具类》对你有帮助,请点赞、收藏,并留下你的观点哦!