Base64 ist eine der häufigsten Codierungsmethoden im Netzwerk für die Übertragung von 8 -Bit -Byte -Code. Sie können RFC2045 ~ RFC2049 überprüfen, das detaillierte MIME -Spezifikationen enthält. Base64 -Codierung kann verwendet werden, um längere Identifizierungsinformationen in HTTP -Umgebungen zu übergeben. Zum Beispiel wird Base64 im Java Persistence-System Hibernate verwendet, um eine lange eindeutige Kennung (normalerweise ein 128-Bit-UUID) in eine Zeichenfolge zu codieren, die als Parameter in HTTP-Formularen und HTTP-GET-URLs verwendet wird. In anderen Anwendungen ist es häufig erforderlich, Binärdaten in ein für die Platzierung in URLs geeigneter Form (einschließlich versteckter Formfelder) zu codieren.
Zu diesem Zeitpunkt ist die Basis64 -Codierung nicht nur kurz, sondern auch unlesbar, dh die codierten Daten werden nicht direkt vom bloßen Auge gesehen.
Es gibt viele Möglichkeiten, Java zu verschlüsseln. Jetzt werde ich Ihnen eine Base64 -Verschlüsselungsmethode teilen.
Paket com.crypt; import sun.misc.BASE64Decoder;import sun.misc.BASE64Encoder;/** * BASE64 encryption and decryption* @author YUANWEi */public class BASE64 { /** * BASE64 decrypt* * @param key * @return * @throws Exception */ public static byte[] decryptBASE64(String key) throws Exception { return (new Base64DeCoder ()). DecodeBuffer (Schlüssel); } / ** * Basis64 -Verschlüsselung * * @param key * @return * @throws Exception * / public static String Encryptbase64 (byte [] key) löst die Ausnahme aus {return (new Base64Encoder ()). EncodeBuffer (Schlüssel); }}Warum Base64 -Verschlüsselung verwenden?
Die Rolle der Base64 -Codierung: Da einige Systeme nur ASCII -Zeichen verwenden können. Base64 ist eine Methode, mit der Daten aus Nicht-ASCII-Zeichen in ASCII-Zeichen umwandelt werden. Es verwendet die in der Tabelle unten verwendeten Zeichen und Codierungen.
Darüber hinaus ist Base64 besonders geeignet, um Daten unter HTTP- und MIME -Protokollen schnell zu übertragen.
Base64 ist eigentlich kein Verschlüsselungs- und Entschlüsselungsalgorithmus im Sicherheitsbereich. Obwohl man manchmal oft die sogenannte Base64-Verschlüsselung und Entschlüsselung sieht. Tatsächlich kann Base64 nur als Codierungsalgorithmus angesehen werden, codiert den Dateninhalt, der für die Übertragung geeignet ist. Obwohl der Originaltext zu einem Zeichenformat wird, das nach Base64 -Codierung nicht ersichtlich ist, ist diese Methode sehr einfach und einfach.
Für die Base64 -Codierungsmethode müssen alle drei 8 -Bit -Bytes in vier 6 -Bit -Bytes konvertiert werden. Unter ihnen sind alle 6 gültigen Bits der vier Bytes nach der Konvertierung gültige Daten, und die beiden Ersatzbits werden mit 0 ergänzt, um ein Byte zu werden. Daher ist die durch Basis64 verursachte Datenreduktion nicht sehr schwerwiegend. Base64 ist heute eine beliebte Codierungsmethode, da sie schnell und einfach zu codieren ist.
Wissensergänzung:
Standard Base64 ist nicht für die direkte Übertragung in URLs geeignet, da der URL -Encoder die "/" und "+" -Scharnien in Standard -Basis64 in ein Formular wie "%xx" ändert und diese "%" -Zahlen bei der in der Datenbank gespeicherten "%" -Zahlen als Wildcards in Ansi SQL konvertiert werden müssen.
Um dieses Problem zu lösen, kann eine verbesserte Base64 -Codierung für URLs verwendet werden. 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.
Es gibt eine weitere verbesserte Base64 -Variante für reguläre Ausdrücke, die sich "+" und "/" zu "!" und "-", weil "+", "*" und "[" und "]" in IRCU verwendet werden können, können besondere Bedeutungen in regulären Ausdrücken haben.
Es gibt auch einige Varianten, die "+/" zu "_-" oder "._" (verwendet als Bezeichner-Name in der Programmiersprache) oder ".-" (verwendet für nMtoken in XML) oder sogar "_:" (verwendet für den Namen in XML).
Basis64 erfordert, dass alle drei 8 -Bit -Bytes in vier 6 -Bit -Bytes (3*8 = 4*6 = 24) umgewandelt werden, und dann zwei hohe 0S bis 6 -Bit hinzuzufügen, um vier 8 -Bit -Bytes zu bilden. Das heißt, die konvertierte Zeichenfolge wird theoretisch 1/3 länger sein als die ursprüngliche.
Das obige handelt von Base64 und Base64 Verschlüsselungs- und Entschlüsselungsalgorithmen. Ich hoffe, es wird für die Lernverschlüsselung und Entschlüsselung aller hilfreich sein.