code: 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() ;
  	}
docs: 生成MD5短码（6位）
  @param orig
  @return