`

Base64原理

阅读更多

最近看了一下数据加密,从最基础的Base64看了一下,虽然网上有很多人用代码实现了,如果只会用不知道原理也是没多大进步的,于是就找了一下Base64编码的原理,发现这篇博主的文章很是不错,特意总结分享一下。

http://www.cnblogs.com/hongru/archive/2012/01/14/2321397.html

 通过学习发现,Base64的编码过程如下:

  1. 将需要编码的字符串,按3个8bit的字符为一组
  2. 获取字符的ASCII编码
  3. 将ASCII码转换成8bit的二进制,得到3*8=24bit的字节组
  4. 将这24bit组划分为4个bit的字节,并在每个6bit的字节高位都填上两个0,得到4个8bit组
  5. 然后将这4个8bit组转化为10进制 ,对照BASE64码表,得到对应编码。

注意:1.中文每个字符超过8bit不能进行base64编码

           2.如果被编码字符长度不是3的倍数的时候,在第3步,不够的用0代替,相应得到=

 

   最后感谢博主总结分享。

分享到:
评论

相关推荐

    Base64实现原理,Base64文件加密

    Base64编码的基本原理是将每3个8位字节的数据块转换成4个6位的字节,然后每个6位的字节对应一个Base64字符表中的字符,以此来表示原始的二进制数据。 ### Base64编码过程 1. **分组处理**:首先,Base64编码将输入...

    Base64_javascript_base64_

    本文将深入探讨JavaScript中的Base64原理及其在前端应用。 一、Base64编码原理 Base64编码将每3个8位字节(24位)的数据转换为4个6位的字符(共24位),最后用62个可打印字符和两个特殊字符填充不足的位。62个字符...

    base64编解码工具

    Base64的基本原理是将每3个字节的数据(24位)分为4组,每组6位,然后将这6位转换为一个从0到63的十进制数,再用Base64字符集中的字符表示。Base64字符集包括大小写字母、数字以及"+"和"/",最后加上一个等于号("=...

    BASE64加密解密 C代码

    下面我们将详细探讨BASE64的原理以及如何用C代码来实现。 ### BASE64原理 BASE64的基本思想是将每3个字节(24位)的数据分为4组,每组6位,然后将这6位二进制数据转化为对应的ASCII字符。由于ASCII字符集有64个可...

    Base64.zip_labview base64

    下面我们将详细探讨如何在LabVIEW中实现Base64编码以及这个VI可能的工作原理。 1. **Base64编码原理**: - Base64编码基于64个可打印的ASCII字符,包括大小写字母、数字以及"+"和"/",还有在末尾可能会出现的等于...

    labview 图片缩放 base64编码base64解码

    同时,理解Base64编码的基本原理也是必要的,这将帮助你正确地进行编码和解码操作,确保数据的完整性和一致性。 在提供的压缩包文件“图片缩放编码解码”中,很可能包含了实现这些功能的LabVIEW程序或范例。你可以...

    Base64编码原理及base64函数

    Base64编码原理及base64函数 Base64编码是一种常用的将二进制数据转换为可打印字符的编码,占用空间较小。在RFC 3548中定义。Base64编码的原理是将数据编码成24bit的二进制数,然后将其分成四组,每组6bit,对应于...

    BASE64图片解码_解码_vba图片base64_base64_VBa_图片_

    首先,理解BASE64编码的工作原理是至关重要的。BASE64将每3个8位字节的二进制数据块(共24位)转换为4个6位的字符,这4个字符在64个可能的字符集中选择,包括大小写字母、数字以及"+"和"/"。由于二进制数据长度可能...

    VB JPG转base64和base64转JPG.rar

    首先,让我们深入了解一下Base64编码的原理。Base64编码将每3个8位字节的二进制数据块转换成4个6位的字节,并将这些6位字节转换为可打印的ASCII字符。由于2^6 = 64,因此有64种可能的字符组合,通常使用大小写字母、...

    BASE64Encoder及BASE64Decoder的源码

    Base64的基本原理是将每3个字节(24位)的数据拆分为4个6位的块,并将每个6位块转换为对应的ASCII字符。由于6位只能表示64个不同的值,因此Base64字符集包含64个字符,这些字符通常包括大小写字母、数字以及"+"和"/...

    BASE64Encoder 与 BASE64Decoder 源代码

    BASE64是一种常见的数据编码方式,它将二进制数据转化为可打印的ASCII字符,常用于在电子邮件、HTTP协议等不...通过源代码学习这两个类,可以帮助我们深入理解BASE64编码的原理,以及如何在实际项目中高效地使用它们。

    C++ [ rapidjson 使用、封装、UT]、[Base64加码及解码]

    1. **Base64原理**:Base64是一种用于将二进制数据转换为可打印ASCII字符的编码方式,常用于电子邮件、HTTP传输等场景。它将每3个字节的二进制数据转换为4个6位的Base64字符。 2. **Base64编码**:C++中可以使用...

    BASE64Encoder.jar

    1. **Base64编码原理**: Base64编码基于64个可打印字符,这些字符包括大小写字母、数字以及"+"和"/",还有"\n"作为换行符(在某些实现中)。它将每3个字节的数据块转换为4个6位的Base64字符,这样可以确保原始的二...

    Delphi版的Base64互相转换函数

    首先,我们需要理解Base64的基本原理。Base64使用64个字符(包括大小写字母、数字以及"+"和"/")来表示二进制数据,每个字符代表6位,因此每3个字节(24位)的数据可以被编码为4个Base64字符。如果原始数据长度不是3...

    BASE64Encoder.zip

    下面,我们将详细探讨BASE64编码的工作原理以及如何在Java中使用它。 ### BASE64编码原理 BASE64编码基于64个可打印的ASCII字符,包括大小写字母、数字以及"+"和"/",还用一个"="作为填充字符。每个原始的二进制...

    BASE64Decoder jar包

    BASE64编码的原理是将每3个字节(24位)的数据转换为4个6位的BASE64字符,这样每个字符代表8位中的6位,剩余的两位用'='字符填充。由于ASCII字符集中有64个安全的字符可用于此目的,这6位可以映射到这些字符之一,...

    Base64 编码和解码

    ### Base64编码原理 Base64编码的基本思想是将每3个字节(24位)的数据转换为4个6位的字符(共24位),然后将这4个6位的字符映射到64个可打印的ASCII字符之一。由于24位不能被8整除,所以最后一组可能会少于3个字节...

Global site tag (gtag.js) - Google Analytics