Base64 e outros algoritmos de codificação semelhantes são comumente usados para converter dados binários em dados de texto, com o objetivo de simplificar o armazenamento ou a transmissão. Mais especificamente, o algoritmo BASE64 é usado principalmente para converter dados binários em formato de sequência ASCII. O idioma Java fornece uma implementação muito boa do algoritmo BASE64. Este artigo descreverá brevemente como usar a base64 e como funciona.
A função da base64: seu principal objetivo não é criptografia, seu principal objetivo é converter alguns números binários em caracteres comuns para transmissão de rede. Como alguns caracteres binários são caracteres de controle no protocolo de transmissão, eles não podem ser transmitidos diretamente e precisam ser convertidos.
O primeiro método:
Use aulas em Java que não são expostas ao público através da reflexão:
/ ****Encode por base64*/ public static string codeBase64 (byte [] input) lança Exceção {class clazz = class.formorne ("com.sun.org.apache.xerces.internal.impl.dv.util.base64"); Método mainMethod = clazz.getMethod ("Encode", byte []. Classe); mainMethod.setAccessible (true); Objeto retobj = mainmethod.invoke (null, novo objeto [] {input}); return (string) retobj; } / ****decodifique por base64* / public static byte [] decodebase64 (entrada da string) lança Exceção {class clazz = class.forname ("com.sun.org.apache.xerces.internal.impl.dv.util.base64"); Método mainMethod = clazz.getMethod ("decodificar", string.class); mainMethod.setAccessible (true); Objeto retobj = mainmethod.invoke (nulo, entrada); return (byte []) RETOBJ; } O segundo método:
Use Commons-codec.jar
/ ** * @param bytes * @return */ public static byte [] decode (final byte [] bytes) {return base64.decodeBase64 (bytes); } / ** * Os dados binários são codificados como base64 string * * @param bytes * @return * @throws Exception * / public static string cody (final byte [] bytes) {return new string (base64.EncodeBase64 (bytes); } O terceiro método:
/ ** * codificação * @param bstr * @return string */ public static string cody (byte [] bstr) {return sun.misc.Base64Encoder (). Encode (bstr); } / ** * decodificação * @param str * @return string * / public static byte [] decodge (string str) {byte [] bt = null; tente {sun.misc.base64decoder decodificador = new sun.misc.base64Decoder (); bt = decodificador.DecodeBuffer (str); } catch (ioexception e) {e.printStackTrace (); } retornar bt; }O exposto acima é todo o conteúdo deste artigo. Espero que seja útil para o aprendizado de todos e espero que todos apoiem mais o wulin.com.