md5加密

1.密码123456   MD5后“4QrcOUm6Wau+VuBX8g+IPg==”现在系统用应用了该种算法,貌似不像很标准的MD5加密,实现目的就可以了。可以算是MD5和base64综合体。

import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
import sun.misc.BASE64Encoder;
/**
 * MD5加密得法.
 */
//采用MD5得法进行不可逆加密.用于密码保护.直接把需要加密的String传入方法就可以实现MD5加密.
public class Md5Utils {
public static String MD5(String pwd){
String str1=null;
try {
MessageDigest md=MessageDigest.getInstance("MD5");// 使用MD5加密
byte[] bs=md.digest(pwd.getBytes());// 把传入的字符串转换成字节数组
BASE64Encoder encoder=new BASE64Encoder();
str1=encoder.encode(bs);
} catch (NoSuchAlgorithmException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return str1;// 返回加密后的字符串.
}
}

2.密码123456   MD5后“e10adc3949ba59abbe56e057f20f883e”,纯粹的MD5加密。16位小写

import java.io.UnsupportedEncodingException;
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
public class MD5 {
    public MD5() {
    }
    /**  
     * MD5 加密
     */   
    public String MD5Encode(String str) {   
        MessageDigest messageDigest = null;   
        try {   
            messageDigest = MessageDigest.getInstance("MD5");   
            messageDigest.reset();   
            messageDigest.update(str.getBytes("UTF-8"));   
        } catch (NoSuchAlgorithmException e) {   
            System.out.println("NoSuchAlgorithmException caught!");   
            System.exit(-1);   
        } catch (UnsupportedEncodingException e) {   
            e.printStackTrace();   
        }
        byte[] byteArray = messageDigest.digest();   
        StringBuffer md5StrBuff = new StringBuffer();   
        for (int i = 0; i < byteArray.length; i++) {               
            if (Integer.toHexString(0xFF & byteArray[i]).length() == 1)   
                md5StrBuff.append("0").append(Integer.toHexString(0xFF & byteArray[i]));   
            else   
                md5StrBuff.append(Integer.toHexString(0xFF & byteArray[i]));   
        }   
        return md5StrBuff.toString();   
    }   
}


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值