什么是base64呢?
它是一种加密算法,有着广泛的应用和支持,但却是当今最弱的编码标准之一。它主要是对明文转换后的二进制序列做处理,使之变为不能被人直接识别的形式。
加密步骤:
1. 取得明文对应的二进制编码;
2. 每3个字节组成一个单元,再把每个单元内的3字节变成4个字节,变化方法是:把原来的3*8=24个比特位,分成 4*6=24个比特位,且在每6个比特位前面加2个0,这样就组成了4个字节(如果,序列最后不够3个字节,例如剩余2 个字节或是1个字节,也要看成是一个单元最后变成4个字节,不足的用=号表示);
3. 查找base64位编码表,把转换后的字节用对应的字符表示,这样,原来的明文就用base64加密了;
举个例子:
字符串“A”,进行Base64编码,如下所示:
字符 A
ASCII码 65
二进制码 01000001
4个6位二进制码 010000 010000
4个8位二进制码 00010000 00010000
十进制码 16 16
字符表映射码 Q Q = =
这个一个字节,也要把它当成一个单元来处理。首先,8位比特安装6位进行分解,剩余2位不足6位要在后面补0,分解完后,要在前面加0组成2个字节,因为不足4个字节,后面要用2个=号来补。最后,经过base64加密后,原来的明文“A”就被加密为“QQ==”。加密后的大小比原来的多了约1/3,有时候是比1/3多,最后剩一个字节或2个字节时。
实现该算法的开源框架:
http://www.sauronsoftware.it/projects/javabase64/download.php
分享到:
相关推荐
C语言实现Base64加密算法,通常涉及以下几个关键步骤: 1. **初始化编码表**:Base64编码表由64个不同的字符组成,包括大小写字母、数字和两个特殊符号`+`和`/`,以及一个用于填充的`=`。在C语言中,我们可以定义一...
Base64编码的核心原理是将二进制数据进行分组,每24Bit(3字节)为一个大组,再把一个大组的数据分成4个6Bit的小分组。由于6Bit数据只能表示64个不同的字符(2^6=64),所以这也是Base64的名字由来。
Java实现的Base64加密算法示例 Base64加密算法是指一种常用的数据加密算法,主要用于将二进制数据转换为文本格式,以便于在网络上传输。Java语言提供了多种实现Base64加密算法的方式,本文将详细介绍Java实现的Base...
下面我们将详细探讨Delphi中的Base64加密算法以及如何在Delphi程序中实现它。 首先,Base64的基本原理是将每3个8位字节的数据(24位)转换为4个6位的数字,然后将这4个数字用64个可能的字符(包括大小写字母、数字...
java代码。支持加密与解密,Base64加密算法
**C# BASE64加密算法** 在编程领域,特别是在网络安全和数据传输中,加密是一种基本的安全措施。BASE64是一种编码方式,它将任意二进制数据转化为ASCII字符集中的可打印字符,常用于在网络上传输包含二进制的数据,...
c++实现base64算法加密解密,不需要修改,直接运行即可
Base64加密算法java版
### Base64加密算法 #### 一、简介 Base64是一种常见的编码方式,主要用于将二进制数据转换为文本格式的数据,以便于在网络中传输。Base64编码使用了64个可打印的ASCII字符(包括大写字母A-Z、小写字母a-z、数字0-...
根据提供的文件信息,我们可以深入探讨Base64加密算法在Java中的实现原理以及具体的代码细节。 ### Base64加密算法概述 Base64是一种基于64个可打印字符来表示二进制数据的方法。它通常用于将二进制数据转换为文本...
Base64加密算法 Base64加密算法是一种常用的编码方式,广泛应用于互联网、网络通信、数据存储等领域。它的主要作用是将二进制数据转换为可读的ASCII字符串,以便于在不同的系统和平台之间进行数据交换和存储。 ...
算法类base64 的操作 字符串的加密技术,算法类base64 的操作 字符串的加密技术 as 版本
Base64 加密算法 Base64 加密算法是一种常用的数据编码格式,它用于将二进制数据转换为 ASCII 码,以便在网络上传输。Base64 编码算法广泛应用于互联网、电子邮件、网页、云计算等领域。 Base64 编码原理 Base64 ...
然而,它并不是一种加密算法,只是编码方式,不能防止未经授权的访问。真正的加密需要使用如AES、RSA等专门的加密算法。 使用这个jar包时,可以直接将其导入到Java项目中,通过反射或者其他方式调用`sun.misc.BASE...
Base64_RC4加密算法是计算机安全领域中常见的两种加密技术的结合。RC4是一种流密码(stream cipher)算法,而Base64则是一种数据编码方法。这两种技术在不同的场景下有着各自的用途。 首先,我们来详细了解一下RC4...
在C#编程环境中,我们可以利用各种加密算法来保护敏感信息。本文将深入探讨C#中的Base64编码和密钥加密技术,以及如何结合这两种方法增强数据安全性。 Base64是一种简单的编码方式,常用于将二进制数据转换为ASCII...
AES加密算法采用的是分组密码,将明文分为128位的数据块进行处理,支持128、192、256位的密钥长度。其加密过程主要包括四个基本操作:字节替代(SubBytes)、行位移(ShiftRows)、列混淆(MixColumns)和密钥加...
它通过特定的算法,将每3个字节(24位)的数据转换为4个6位的十六进制数,每个十六进制数对应Base64字符集中的一个字符。Base64字符集由64个字符组成,包括大小写字母、数字以及"+"和"/",最后还有一个等于号("=")...
本资源是集合了SMS4和自定义的Base64加密算法。SMS4加密算法中提供了如下接口: private static byte[] encode16(byte[] plain, byte[] key); private static byte[] decode16(byte[] cipher, byte[] key); private ...