public static String md5Short(String orig){
		if(orig == null){
			return null ;
		}
		//先得到url的32个字符的md5码
		String md5 = DigestUtils.md5(orig) ;
		//将32个字符的md5码分成4段处理，每段8个字符
		//4段任意一段加密都可以，这里我们取第二段
		int offset = 1 * 8 ;
		String sub = md5.substring(offset, offset + 8) ; 
		long sub16 = Long.parseLong(sub , 16) ; //将sub当作一个16进制的数，转成long  
		// & 0X3FFFFFFF，去掉最前面的2位，只留下30位
		sub16 &= 0X3FFFFFFF ;

		StringBuilder sb = new StringBuilder() ;
		//将剩下的30位分6段处理，每段5位
		for (int j = 0; j < 6 ; j++) {
			//得到一个 <= 61的数字
			long t = sub16 & 0x0000003D ;
			sb.append(saltChars[(int) t]) ;
			sub16 >>= 5 ;  //将sub16右移5位

		}
		return sb.toString() ;
	}
public static String md5Short ( String orig ) { if ( orig == null ) { return null ; } String md5 = DigestUtils . md5 ( orig ) ; int offset = 1 * 8 ; String sub = md5 . substring ( offset , offset + 8 ) ; long sub16 = Long . parseLong ( sub , 16 ) ; sub16 &= 0X3FFFFFFF ; StringBuilder sb = new StringBuilder ( ) ; for ( int j = 0 ; j < 6 ; j ++ ) { long t = sub16 & 0x0000003D ; sb . append ( saltChars [ ( int ) t ] ) ; sub16 >>= 5 ; } return sb . toString ( ) ; }
生成MD5短码（6位）
@param orig
@return