MD5加密的简单java实现

  • MD5的典型应用是对一段信息(Message)产生信息摘要(Message-Digest),以防止被篡改。具体来说文件的MD5值就像是这个文件的“数字指纹”。每个文件的MD5值是不同的,如果任何人对文件做了任何改动,其MD5值也就是对应的“数字指纹”就会发生变化。比如下载服务器针对一个文件预先提供一个MD5值,用户下载完该文件后,用我这个算法重新计算下载文件的MD5值,通过比较这两个值是否相同,就能判断下载的文件是否出错,或者说下载的文件是否被篡改了。
  • 在数据库存储密码等保密信息时,可能会需要将数据md5加密后存储,下面是笔者写的一个md5加密的简单java实现:
    import java.io.UnsupportedEncodingException;
    import java.security.MessageDigest;
    import java.security.NoSuchAlgorithmException;
    
    import sun.misc.BASE64Encoder;
    
    public class MD5Util {
         /**
         * 对字符串md5加密
         *
         * @param str 传入要加密的字符串
         * @return  MD5加密后的字符串
         */
    	public static String backPass(String ostr) {
    
    		String nstr = null;
    		if (ostr != null) {
    			try {
    				MessageDigest md5 = MessageDigest.getInstance("MD5");
    				BASE64Encoder base = new BASE64Encoder();
    				nstr = base.encode(md5.digest(ostr.getBytes("UTF-8")));
    				System.out.println(nstr);
    			} catch (NoSuchAlgorithmException e) {
    				e.printStackTrace();
    			} catch (UnsupportedEncodingException e) {
    				e.printStackTrace();
    			}
    		}
    		return nstr;
    	}
    
    	public static void main(String[] args) {
    		String str = "12345678909";
    		backPass(str);
    	}
    }

  • 由于MD5是单向加密,所以在密码存储等英应用中,可以选择将输入的密码进行相同的加密算法加密后做对比。


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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值