MD5,BASE64Encoder加密

package com.cn.peitest;
import java.io.UnsupportedEncodingException;
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
public class MD5BASE64Encoder {
    /**利用MD5进行加密
     * @param str  待加密的字符串
     * @return  加密后的字符串
     * @throws NoSuchAlgorithmException  没有这种产生消息摘要的算法
     * @throws UnsupportedEncodingException  
     */
    public static String EncoderByMd5(String str) throws NoSuchAlgorithmException, UnsupportedEncodingException{
        //确定计算方法
        MessageDigest md5=MessageDigest.getInstance("MD5");
        sun.misc.BASE64Encoder base64en = new sun.misc.BASE64Encoder();
        //加密后的字符串
        String newstr=base64en.encode(md5.digest(str.getBytes("utf-8")));
        return newstr;
    }
    /**判断用户密码是否正确
     * @param newpasswd  用户输入的密码
     * @param oldpasswd  数据库中存储的密码--用户密码的摘要
     * @return
     * @throws NoSuchAlgorithmException
     * @throws UnsupportedEncodingException
     */
    public boolean checkpassword(String newpasswd,String oldpasswd) throws NoSuchAlgorithmException, UnsupportedEncodingException{
        if(EncoderByMd5(newpasswd).equals(oldpasswd))
            return true;
        else
            return false;
    }
    public static void main(String[] args) {
        String str="0123456789";
        try {
            System.out.println(EncoderByMd5(str));
        } catch (NoSuchAlgorithmException e) {
            
            e.printStackTrace();
        } catch (UnsupportedEncodingException e) {
        
            e.printStackTrace();
        }
    }
}

 

posted @ 2020-07-31 10:20  红尘沙漏  阅读(285)  评论(0编辑  收藏  举报