Base64 é um dos métodos de codificação mais comuns na rede para transmitir código de bytes de 8 bits. Você pode verificar o RFC2045 ~ RFC2049, que contém especificações detalhadas do MIME. A codificação base64 pode ser usada para passar informações de identificação mais longas em ambientes HTTP. Por exemplo, no sistema de persistência Java Hibernate, a base64 é usada para codificar um identificador exclusivo longo (geralmente um UUID de 128 bits) em uma string, que é usada como um parâmetro nas formas HTTP e HTTP obtém URLs. Em outras aplicações, geralmente é necessário codificar dados binários em um formulário adequado para colocação em URLs (incluindo campos de forma oculta).
No momento, a codificação Base64 não é apenas curta, mas também ilegível, ou seja, os dados codificados não serão vistos diretamente a olho nu.
Existem muitas maneiras de criptografar Java. Agora vou compartilhar com você um método de criptografia base64.
pacote com.crypt; importar sun.misc.base64Decoder; importar sun.misc.Base64Encoder;/** * base64 Criptografia e descriptografia * @author yuanwei */public class Base64 {/** ** * Base64 decrypt * * @param key * @return * @Throws Exception */public sTATTOL por 64 (). Base64Decoder ()). Decodificador (chave); } / ** * base64 criptografia * * @param key * @return * @throws exceção * / public static string EncryptBase64 (byte [] key) lança exceção {return (new Base64Encoder ()). EncodeBuffer (key); }}Por que usar a criptografia base64?
O papel da codificação Base64: como alguns sistemas podem usar apenas caracteres ASCII. Base64 é um método usado para converter dados de caracteres não-ASCII em caracteres ASCII. Ele usa os caracteres e codificações usadas na tabela abaixo.
Além disso, a base64 é particularmente adequada para transmitir rapidamente dados sob protocolos HTTP e MIME.
Base64 Na verdade, não é um algoritmo de criptografia e descriptografia no campo de segurança. Embora às vezes você veja frequentemente a chamada criptografia e descriptografia base64. De fato, o Base64 só pode ser considerado como um algoritmo de codificação, codifica o conteúdo de dados para ser adequado para transmissão. Embora o texto original se torne um formato de caractere que não pode ser visto após a codificação Base64, esse método é muito básico e simples.
O método de codificação Base64 requer a conversão a cada três bytes de 8 bits em quatro bytes de 6 bits. Entre eles, cada 6 bits válidos dos quatro bytes após a conversão são dados válidos, e os dois bits sobressalentes são suplementados com 0 para se tornar um byte. Portanto, a redundância de dados causada pelo Base64 não é muito grave. Base64 é um método de codificação popular hoje, porque é rápido e simples de codificar.
Suplemento de conhecimento:
A base padrão64 não é adequada para a transmissão direta nos URLs, porque o codificador de URL alterará os caracteres "/" e "+" no Base64 padrão em uma forma como "%xx", e esses números "%" precisam ser convertidos quando armazenados no banco de dados, porque os números "%" foram usados como carcaros selvagens no ANSCL.
Para resolver esse problema, uma codificação Base64 aprimorada para URLs pode ser usada. It does not fill in the '=' number at the end, and changes the "+" and "/" in standard Base64 to "*" and "-" respectively, which eliminates the conversion required during URL encoding and decoding and database storage, avoids the increase in the length of the encoding information in this process, and unifies the format of object identifiers in databases, forms, etc.
Há outra variante Base64 aprimorada para expressões regulares, que muda "+" e "/" para "!" e "-", porque "+", "*" e "[" e "]" usados no IRCU podem ter significados especiais em expressões regulares.
Existem também algumas variantes que mudam "+/" para "_-" ou "._" (usadas como um nome de identificador na linguagem de programação) ou ".-" (usado para nmtoken em xml) ou mesmo "_:" (usado para nome em xml).
Base64 requer converter a cada três bytes de 8 bits em quatro bytes de 6 bits (3*8 = 4*6 = 24) e, em seguida, adicionar dois 0s a 6 bits para formar quatro bytes de 8 bits. Ou seja, a corda convertida teoricamente será 1/3 mais longa que a original.
O exposto acima é sobre algoritmos de criptografia e descriptografia BASE64 e BASE64. Espero que seja útil para a criptografia e a descriptografia de todos.