Base64는 8 비트 바이트 코드를 전송하기위한 네트워크에서 가장 일반적인 인코딩 방법 중 하나입니다. 자세한 마임 사양이 포함 된 RFC2045 ~ RFC2049를 확인할 수 있습니다. Base64 인코딩을 사용하여 HTTP 환경에서 더 긴 식별 정보를 전달할 수 있습니다. 예를 들어, Java Persistence System Hibernate에서 Base64는 긴 고유 식별자 (일반적으로 128 비트 UUID)를 문자열로 인코딩하는 데 사용되며 HTTP 양식 및 HTTP Get URL의 매개 변수로 사용됩니다. 다른 응용 분야에서는 이진 데이터를 URL (숨겨진 양식 필드 포함)에 배치하기에 적합한 양식으로 인코딩해야합니다.
이 시점에서, Base64 인코딩은 짧을뿐만 아니라 읽을 수 없다. 즉, 인코딩 된 데이터는 육안으로 직접 보이지 않을 것이다.
Java를 암호화하는 방법에는 여러 가지가 있습니다. 이제 Base64 암호화 방법을 공유하겠습니다.
패키지 com.crypt; import sun.misc.base64decoder; import sun.misc.base64encoder;/** * base64 암호화 및 암호 해독 * @author yuanwei */public class base64 {/** * base64 decrypt * * @param key * @Throws Exception */public exception */public exception [] decryptbase64 (decryptbase64). Base64decoder ()). DecodeBuffer (키); } / ** * base64 암호화 * * @param key * @return * @throws Exception * / public static string encryptbase64 (byte [] key)는 예외 {return (new Base64Ender ()). EncodeBuffer (키); }}Base64 암호화를 사용하는 이유는 무엇입니까?
Base64 인코딩의 역할 : 일부 시스템은 ASCII 문자 만 사용할 수 있기 때문입니다. Base64는 비 ASCII 문자의 데이터를 ASCII 문자로 변환하는 데 사용되는 방법입니다. 아래 표에 사용 된 문자와 인코딩을 사용합니다.
또한, Base64는 HTTP 및 MIME 프로토콜에 따라 데이터를 신속하게 전송하는 데 특히 적합합니다.
Base64는 실제로 보안 필드에서 암호화 및 암호 해독 알고리즘이 아닙니다. 때로는 소위 Base64 암호화 및 암호 해독을 종종 볼 수 있습니다. 실제로, Base64는 인코딩 알고리즘으로만 간주 될 수 있으며, 데이터 컨텐츠를 전송에 적합하도록 인코딩합니다. 원본 텍스트는 Base64 인코딩 후에 볼 수없는 문자 형식이되지만이 방법은 매우 기본적이고 간단합니다.
Base64 인코딩 방법은 3 개의 8 비트 바이트를 4 개의 6 비트 바이트로 변환해야합니다. 그 중에서, 변환 후 4 바이트의 6 개의 유효한 비트는 유효한 데이터이며, 2 개의 여분의 비트에는 0으로 보충되어 하나의 바이트가됩니다. 따라서, Base64로 인한 데이터 중복성은 그다지 심각하지 않다. Base64는 빠르고 간단하기 때문에 오늘날 인코딩 방법입니다.
지식 보충 :
URL 인코더는 표준 Base64의 "/"및 "+"문자를 표준 Base64의 "%xx"와 같은 형태로 변경하고 데이터베이스에 저장할 때 이러한 "%"숫자를 ANSI SQL에서 와일드 카드로 사용했기 때문에 표준 Base64는 URL에서 직접 전송에 적합하지 않습니다.
이 문제를 해결하기 위해 URL에 대한 개선 된 Base64 인코딩을 사용할 수 있습니다. 그것은 끝에 '='숫자를 채우지 않고 표준 Base64에서 "+"및 "/"를 각각 "*"및 "-"로 변경하여 URL 인코딩 및 디코딩 및 데이터베이스 저장에 필요한 변환을 제거 하고이 프로세스에서 인코딩 정보의 길이를 증가시키지 않으며, 데이터가 등의 객체 식별자 형식을 통합합니다.
정규 표현식에 대한 또 다른 개선 된 Base64 변형이 있으며, 이는 "+"및 "/"to "로 변경됩니다!" 그리고 "-", "+", "*"및 "["및 "]" "IRCU에 사용되기 때문에 정기적 인 표현에서 특별한 의미가있을 수 있습니다.
"+/"로 "+/"로 "_-"또는 "._"(프로그래밍 언어에서 식별자 이름으로 사용) 또는 ".-"(XML에서 nmtoken에 사용) 또는 "_ :"(XML에서 이름에 사용됨)를 변경하는 몇 가지 변형이 있습니다.
Base64는 3 개의 8 비트 바이트를 4 개의 6 비트 바이트 (3*8 = 4*6 = 24)로 변환 한 다음 4 개의 8 비트 바이트를 형성하기 위해 2 개의 높은 0ss에서 6bit을 추가해야합니다. 즉, 변환 된 문자열은 이론적으로 원래 문자열보다 1/3 더 길다.
위의 모든 것은 Base64 및 Base64 암호화 및 암호 해독 알고리즘에 관한 것입니다. 모든 사람의 학습 암호화 및 암호 해독에 도움이되기를 바랍니다.