Base64加密/解密

問題反饋

Base64加密/解密辅助用于將二進制數據編碼爲文本字符串或將Base64編碼的文本解碼回二進制數據,经常利用于數據傳輸和存儲。

Base64編碼

复制Base64內容

Base64解碼

複制文本內容
Base64是一种基于64个可打印字符来暗示二进制数据的编码编制。它经常利用于在需要以文本情势措置二进制数据的场景中,例如在电子邮件的MIME格式中、URL编码、嵌入图片到HTML或CSS中,和在数据传输和存储过程中。以下是对Base64的具体申明: ### 编码道理 1. **输入数据豆割**:将输入的二进制数据按每3字节(24位)一组进行豆割。若是数据长度不是3的倍数,则利用0字节填充,使其长度凑满3字节。 2. **位移操纵**:每3字节的数据块被豆割成4个6位的单位(由于 \(3 \times 8 = 4 \times 6\))。每个6位单位代表一个十进制数,这个数在0到63之间。 3. **映照字符**:利用Base64字符表将每个6位单位映照为一个Base64字符。Base64字符表包含以下64个字符: - 大年夜写字母:A-Z (0-25) - 小写字母:a-z (26-51) - 数字:0-9 (52-61) - 加号(+):62 - 斜杠(/):63 4. **填充字符**:若是输入数据长度不是3的倍数,则在编码后的Base64字符串末尾利用等号(=)进行填充,使编码后的字符串长度是4的倍数。 ### 解码道理 1. **去掉落填充字符**:去掉落Base64編碼字符串末尾的等号(=)填充字符。 2. **字符映照**:将Base64字符串中的每个字符映照回响应的6位二进制数。 3. **组合二进制数据**:将所有6位的二进制数从头组合成8位的字节。每4个Base64字符还原为3个字节的数据块。 4. **还原原始数据**:去掉落可能存在的用于凑满3字节的数据填充。 ### 特点和利用 - **效力和精练**:Base64編碼后数据长度约为原始数据的4/3,是以固然数据量增加了,但保持了精练性和可读性。 - **无特别字符**:编码后的字符串仅包含字母、数字和少量符号,避免了因特别字符导致的数据传输题目。 - **利用遍及**:用于邮件传输、数据存储、URL传递参数、嵌入图象到HTML/CSS、Web API中传输数据等。 ### 示例 假定我们需要编码字符串“Hello”: 1. **原始数据**:`H` `e` `l` `l` `o`(ASCII码别离为 72, 101, 108, 108, 111) 2. **二进制暗示**:`01001000` `01100101` `01101100` `01101100` `01101111` 3. **24位分组**:`01001000 01100101 01101100` `01101100 01101111` 4. **6位豆割**:`010010` `000110` `010101` `101100` `011011` `011011` `111100` 5. **映照字符**:`SGVs bG8g` 6. **Base64編碼**:`SGVsbG8g` 经过过程Base64編碼后的“Hello”变成“SGVsbG8g”,并在需要时可以反向解码回原始数据。
xxfseo.com