Base64 es uno de los métodos de codificación más comunes en la red para transmitir el código de byte de 8 bits. Puede consultar RFC2045 ~ RFC2049, que contiene especificaciones MIME detalladas. La codificación BASE64 se puede usar para pasar información de identificación más larga en entornos HTTP. Por ejemplo, en el sistema de persistencia Java Hibernate, Base64 se usa para codificar un identificador único único (generalmente un UUID de 128 bits) en una cadena, que se usa como un parámetro en formas HTTP y HTTP obtiene URL. En otras aplicaciones, a menudo es necesario codificar datos binarios en un formulario adecuado para la colocación en URL (incluidos los campos de formularios ocultos).
En este momento, la codificación BASE64 no solo es corta, sino que también es ilegible, es decir, los datos codificados no serán directamente vistos a simple vista.
Hay muchas formas de cifrar a Java. Ahora compartiré con ustedes un método de cifrado Base64.
paquete com.crypt; import sun.misc.base64Decoder; import sun.misc.base64Encoder;/** * Base64 Cifrado y descifrado * @Author Yuanwei */public class Base64 {/** * base64 Decrypt * * @Param Key * @return * @throws Exception */public static Byte [] Decryptbase64 (Striz Key) Base64Decoder ()). DecodeBuffer (clave); } / ** * Base64 Cifrado * * @Param Key * @return * @throws Exception * / public static String CiCryptBase64 (Byte [] Key) arroja excepción {return (new Base64Encoder ()). CodeBuffer (Key); }}¿Por qué usar el cifrado Base64?
El papel de la codificación Base64: ya que algunos sistemas solo pueden usar caracteres ASCII. Base64 es un método utilizado para convertir datos de caracteres no ASCII en caracteres ASCII. Utiliza los caracteres y codificaciones utilizados en la tabla a continuación.
Además, Base64 es particularmente adecuado para transmitir rápidamente datos bajo protocolos HTTP y MIME.
Base64 en realidad no es un algoritmo de cifrado y descifrado en el campo de seguridad. Aunque a veces a menudo se ve el llamado cifrado y descifrado de Base64. De hecho, Base64 solo puede considerarse como un algoritmo de codificación, codifica el contenido de datos para ser adecuado para la transmisión. Aunque el texto original se convierte en un formato de caracteres que no se puede ver después de la codificación Base64, este método es muy básico y simple.
El método de codificación Base64 requiere convertir cada tres bytes de 8 bits en cuatro bytes de 6 bits. Entre ellos, cada 6 bits válidos de los cuatro bytes después de la conversión son datos válidos, y los dos bits de repuesto se complementan con 0 para convertirse en un byte. Por lo tanto, la redundancia de datos causada por Base64 no es muy grave. Base64 es un método de codificación popular hoy en día porque es rápido y fácil de codificar.
Suplemento de conocimiento:
Base64 estándar no es adecuado para la transmisión directa en las URL, porque el codificador de URL cambiará los caracteres "/" y "+" en Base64 estándar en una forma como "%XX", y estos números "%" deben convertirse cuando se almacenan en la base de datos, porque los números "%" se han usado como comodines en ANSI SQL.
Para resolver este problema, se puede usar una codificación BASE64 mejorada para URL. No llena el número '=' al final, y cambia el "+" y "/" en la base estándar64 a "*" y "-" respectivamente, lo que elimina la conversión requerida durante la codificación de URL y la decodificación y el almacenamiento de la base de datos, evita el aumento en la longitud de la información de codificación en este proceso y unifica el formato de identificadores de objetos en datas, etc., etc., etc. Formas, formularios, formularios, formularios, formularios, formularios, formularios, formularios, formularios, formularios, formularios, formularios, etc.
Hay otra variante Base64 mejorada para expresiones regulares, que cambia "+" y "/" a "!" y "-", porque "+", "*" y "[" y "]" usados en IRCU pueden tener significados especiales en expresiones regulares.
También hay algunas variantes que cambian "+/" a "_-" o "._" (utilizado como nombre de identificador en el lenguaje de programación) o ".-" (utilizado para nmtoken en xml) o incluso "_:" (usado para el nombre en XML).
Base64 requiere convertir cada tres bytes de 8 bits en cuatro bytes de 6 bits (3*8 = 4*6 = 24), y luego agregar dos 0 a 6 bits altos para formar cuatro bytes de 8 bits. Es decir, la cadena convertida en teoría será 1/3 más larga que la original.
Lo anterior se trata de algoritmos de cifrado y descifrado de Base64 y Base64. Espero que sea útil para el cifrado y el descifrado de aprendizaje de todos.