常见的加密算法原理与实现:base64编码(加密)

一、base64的缘起

Base64是一种编码算法,它可以将任何字符转换为由拉丁字母、数字、加号和斜杠组成的字符串。在1987年的PEM(Privacy-enhanced Electronic Mail)协议中首次提及到了Base64算法,最初,该算法被命名为“可打印编码”,直到几年后的1992年6月,RFC 1341才将其定义为“Base64”。因为这个算法使用64个基本字符来将其他要被编码的字符转换到这64个字符集中,所以最后被命名为Base64。

Base64的历史由来已久,早期一个字节该使用多少位的二进制来表示还没有形成固定标准时,存在各种用7位、6位甚至3位字节来表示一个字节的情况。后来当8位编码被批准为标准时,许多系统使用旧的编码,不支持“新标准”,这导致一些数据在新旧系统之间的传输过程中丢失。例如,邮件服务器在发送邮件时,可能会丢弃第8位编码。此外,邮件服务器还存在另一个问题——它们只能发送文本,而不能发送二进制数据(如图像、视频、档案)。因此,Base64就被发明出来解决这些问题。尽管随着时间的推移,也有其他二进制转文本的编码也被开发出来了,但是由于其的简单性、效率和可移植性,Base64成为了最流行的编码。

如今Base64的使用场景也非常丰富,除了在信息传输中用来做编码转换,也经常被用作一些网站的信息加密中,一定程度上能起到保护信息的作用。

二、base64的原理

2.1、base64的字符集

Base64字符集中包含64个基本ASCII字符,通过将数据映射转换成这64个字符实现编码。Base64字符集中的字符包含以下四类,即大写字母A-Z、小写字母a-z、数字0-9以及符号"+"、"/",当然还有一个特殊字符“=”用于在编码过程中进行补位,所以实际上Base64编码后的内容最多会包含65个字符。

大写字母(索引0 ~ 25):ABCDEFGHIJKLMNOPQRSTUVWXYZ
小写字母(索引26-51):abcdefghijklmnopqrstuvwxyz
数字(索引52-61):0123456789
特殊符号(索引62-63):+/

base64的字符集:
在这里插入图片描述

2.2、编码过程

假设我们要对字符串:


                
  • 3
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值