• 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"));
    
    	}
    }
    


     

  • 相关阅读:
    打造绿色JRE
    AOSP(Android Open Source Project) Android开源项目
    SyncML协议简述
    诺基亚 索爱 低端手机及智能手机 与 QQ邮箱或MyTT 通讯录同步 介绍
    Android 的源代码结构
    recovery v1跟recovery v2的区别
    Android系统架构
    haoGOD6.6 修改自XDA的thedroidsector的kingkernel #8 04/22
    下一代Android或官方支持“App2sd”
    Android 中的微型云
  • 原文地址:https://www.cnblogs.com/wuyida/p/6300389.html
Copyright © 2020-2023  润新知