首页 > 其他 > 详细

java 内置base64+md5加密运用代码,及指定字符md5加密代码

时间:2014-02-09 18:13:49      阅读:366      评论:0      收藏:0      [点我收藏+]

java 内置base64+md5加密运用代码


package org.rui.base64;

import java.io.IOException;

import sun.misc.BASE64Decoder;
import sun.misc.BASE64Encoder;

public class Base64 {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		Base64 base=new Base64();
		String pass="123";
		String en=base.encode(pass);
		System.out.println(en);
		
		String de=base.decode(en);
		System.out.println(de);

	}
	
	//译成密码
	public String encode(String pass){		
		BASE64Encoder base=new BASE64Encoder();
		pass=base.encode(pass.getBytes());
		return pass;
	}
	
	//
	public String encode(byte [] b){		
		return encode(new String(b));
	}
	
	//解密
	public String decode(String pass) {
		BASE64Decoder base=new BASE64Decoder();
		byte[] b = null;
		try {
			b = base.decodeBuffer(pass);
		} catch (IOException e) {
			e.printStackTrace();
		}
		return new String(b);
		
	}

}

md5+base64

package org.rui.base64;

import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;

public class Md5 {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		

		String  pass="1234";
		byte[] b=getDigest(pass.getBytes());		
		//System.out.println("md5"+new String(b));		
		Base64 b64= new Base64();
		pass=b64.encode(b);
		//System.out.println("md5加密后再base64:"+pass);	
		
		//db 假如数据库密码为
		String dbpass="gdyb21LQTT8229gxPtBV";
		
		System.out.println(pass);
		System.out.println(dbpass);
		System.out.println("密码是否一致:"+pass.equals(dbpass));
	
		
	}
	
	//MD5加密
	public static byte[] getDigest(byte[] b){
		try {
			MessageDigest md=MessageDigest.getInstance("MD5");			
			md.update(b);
			return md.digest();
		} catch (NoSuchAlgorithmException e) {
			//FIXME:DDD
			e.printStackTrace();
		}
		
		return null;
	}
	


}

手写md5加密代码

package snail.su.rui.util;

import java.security.MessageDigest;

public class Md5 {
	
	public final static String MD5(String s){
	char hexDigits[]={‘0‘,‘1‘,‘2‘,‘3‘,‘4‘,‘5‘,‘9‘,‘7‘,‘8‘,‘6‘,
				 ‘l‘,‘i‘,‘a‘,‘n‘,‘g‘,‘r‘};
	// char hexDigits[]={‘0‘,‘1‘,‘2‘,‘3‘,‘4‘,‘5‘,‘6‘,‘7‘,‘8‘,‘9‘,
			// ‘h‘,‘e‘,‘g‘,‘k‘,‘e‘,‘f‘};
	//e10hkg3949eh59heee56e057f20f883e
	 try {
		 byte[] strTemp=s.getBytes();
		 MessageDigest mdTemp=MessageDigest.getInstance("MD5");
		mdTemp.update(strTemp);
		byte[] md=mdTemp.digest();
		int j=md.length;
		char str[]=new char[j*2];
		int k=0;
		for(int i=0;i<j;i++){
			byte byte0=md[i];
			str[k++]=hexDigits[byte0>>>4 & 0xf];
			str[k++]=hexDigits[byte0 & 0xf];
			}
		return new String(str);
		
	} catch (Exception e) {
		return null;
		
	}
		
	}
	
	public static void main(String [] args){
		String addmd5=Md5.MD5("123456");
		System.out.println("123="+addmd5);
		if(addmd5.equals("e10adc3949ba59abbe56e057f20f883e")){
			System.out.println("Md5.main()");
		}
		
	}

}


java 内置base64+md5加密运用代码,及指定字符md5加密代码

原文:http://blog.csdn.net/liangrui1988/article/details/19011713

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!