当前位置:主页 > 软件编程 > JAVA代码 >

JAVA中使用MD5加密实现密码加密

时间:2021-05-28 08:00:14 | 栏目:JAVA代码 | 点击:

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 即可查找到!

您可能感兴趣的文章:

相关文章