• JAVA加密技术-----MD5 与SHA 加密


    关于JAVA的加密技术有很多很多,这里只介绍加密技术的两种 MD5与 SHA。

    MD5与SHA是单向加密算法,也就是说加密后不能解密.

    MD5 ---信息摘要算法,广泛用于加密与解密技术,常用于文件校验,经过MD5后都能生成唯一的MD5值,比如现在的ISO校验.

    SHA ---安全散列算法,数字签名等密码学应用中重要的工具,被广泛的应用于电子商务等信息安全领域。虽然,SHA与MD5通过碰撞法都被破解了,但SHA任然是公认的安全加密算法,较之MD5更为安全.

    下面我们通过代码来看下,如何实现MD5与SHA的加密.

    package com.suning.security;
    
    import java.security.MessageDigest;
    import sun.misc.BASE64Encoder;
    
    public class DigestPwd {
    
    	/**
    	 * @param args
    	 */
    	/**
    	 * MD5加密
    	 * @param args
    	 */
    	public String getMD5(String pwd) throws Exception{
    		//返回实现指定摘要算法的 MessageDigest 对象。
    		MessageDigest md5=MessageDigest.getInstance("MD5");
    		//使用指定的 byte 数组更新摘要。
    		md5.update(pwd.getBytes("UTF-8"));
    		//开始进行加密
    		byte[] digesta=md5.digest();
    		//通过我们不使用上述的md5加密。通常将md5产生的字节数组交给base64再加密一把,得到相应的字符串
    		 BASE64Encoder base64=new BASE64Encoder();
    		String bs= base64.encode(digesta);
    		return bs;
    	}
    	
    	/**
    	 * SHA加密
    	 * @param args
    	 * @throws Exception 
    	 */
    	public String getSHA(String pwd) throws Exception{
    		MessageDigest sha=MessageDigest.getInstance("SHA");
    		sha.update(pwd.getBytes("UTF-8"));
    		byte[] digesta=sha.digest();
    		 BASE64Encoder base64=new BASE64Encoder();
    		String bs= base64.encode(digesta);
    		return bs;
    	}
    
    	
    	public static void main(String[] args) throws Exception {
    		DigestPwd dp=new DigestPwd();
    		System.out.println("MD5加密后的结果: "+dp.getMD5("123456"));
    		System.out.println("SHA加密后的结果 :"+dp.getSHA("123456"));
    
    	}
    }
    


     

  • 相关阅读:
    【Web技术】561- 网站性能优化之度量篇
    【拓展】什么是Deno?跟Node.js有何区别?
    【Web技术】560- 一个简洁、有趣的无限下拉方案
    【Web技术】559- 一文带你彻底搞懂跨域
    【TS】558- 5000 多字,让你一文掌握 TS 枚举
    【拓展】你真的会写 Markdown 么?
    【调试】557- 11 个Chrome骚技巧让你为所欲为
    ios 地图
    ios 7 20像素解决
    保存图片到相册
  • 原文地址:https://www.cnblogs.com/wuyida/p/6300389.html
Copyright © 2020-2023  润新知