JAVA中使用MD5加密实现密码加密
作者:Loger丶
本篇文章主要介绍JAVA中使用MD5加密实现密码加密,很多地方都要存储用户密码,这里整理了详细的代码,有需要的小伙伴可以参考下
1.新建Md5.java
package com.loger.md5; import java.io.UnsupportedEncodingException; import java.security.MessageDigest; import java.security.NoSuchAlgorithmException; import sun.misc.BASE64Encoder; public class Md5 { /**利用MD5进行加密*/ public String EncoderByMd5(String str) throws NoSuchAlgorithmException, UnsupportedEncodingException{ //确定计算方法 MessageDigest md5=MessageDigest.getInstance("MD5"); BASE64Encoder base64en = new BASE64Encoder(); //加密后的字符串 String newstr=base64en.encode(md5.digest(str.getBytes("utf-8"))); return newstr; } /**判断用户密码是否正确 *newpasswd 用户输入的密码 *oldpasswd 正确密码*/ public boolean checkpassword(String newpasswd,String oldpasswd) throws NoSuchAlgorithmException, UnsupportedEncodingException{ if(EncoderByMd5(newpasswd).equals(oldpasswd)) return true; else return false; } }
2.新建测试类
package com.loger.md5; import java.io.UnsupportedEncodingException; import java.security.NoSuchAlgorithmException; public class MyTest { public static void main(String[] args) throws NoSuchAlgorithmException, UnsupportedEncodingException { Md5 md5 = new Md5(); String str = "apple"; try { String newString = md5.EncoderByMd5(str); System.out.println(newString); } catch (NoSuchAlgorithmException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (UnsupportedEncodingException e) { // TODO Auto-generated catch block e.printStackTrace(); } System.out.println(md5.EncoderByMd5("apple").equals("HzhwvidPbEmz4xoMZyiVfw==")); } }
运行结果:
说明:
可能会出现找不到 BASE64Encoder 这个类,在eclipse中按住 ctr+shift + T 即可查找到!
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。