在pc端网站基础上做移动端,餐饮设计公司名字,网站开发后端语言,个人开发微信小程序Base64 在DES加密和AES加密的过程中#xff0c;加密的编码会出现负数#xff0c;在ascii码表中找不到对应的字符#xff0c;就会出现乱码。为了解决乱码的问题#xff0c;一般结合base64使用 所谓Base64#xff0c;即是说在编码过程中使用了64种字符#xff1a;大写A到Z、…
Base64 在DES加密和AES加密的过程中加密的编码会出现负数在ascii码表中找不到对应的字符就会出现乱码。为了解决乱码的问题一般结合base64使用 所谓Base64即是说在编码过程中使用了64种字符大写A到Z、小写a到z、数字0到9、“”和“/”
Base58是Bitcoin(比特币)中使用的一种编码方式主要用于产生Bitcoin的钱包地址 相比Base64Base58不使用数字0字母大写O字母大写I和字母小写i以及和/符号
Base64特点
Base64是网络上最常见的用于传输8bit字节码的可读性编码算法之一可读性编码算法不是为了保护数据的安全性而是为了可读性可读性编码不改变信息内容只改变信息内容的表现形式 Base64算法原理
将原始数据每三个字节作为一组每个字节是8个bit所以一共是 24 个 bit将 24 个 bit 分为四组每组 6 个 bit在每组前面加补 00将其补全成四组8个bit根据Base64码表得到扩展后每个字节的对应符号
base64算法原理特别的理解
抽象的理解就是对原始字符串削皮削成两层得到最内层的东西再平均分成4组最后再把削的两层皮贴回去变成原来的模样
1.在整个原始字符串中每次拿出一组进行编译一组三个字节
2.第一次削去英文字母的形式露出ascii码形式
3.第二次削去ascii码的形式露出二进制形式
4.再将这一组所有的二进制平均分4小组即每组6位 5.最后针对每小组的6位编码逆着原来的步骤一步一步把皮贴回去
就是将二进制形式变成十进制形式再将十进制对照base64表变成英文字母的形式 上面的表格中是对Man进行编码Man正好是3组8位的字符串
对于M首先ascii编码是77再将77转换成二进制形式之后以6个字节为一组分成4组
每组形成的编码对照base64对照表写出编码后的字符串 有时我们会在Base64字符末尾会看到有时1个有时2个
通过上面的我们知道了Base64编码过程是3个字符一组的进行如果原文长度不是3的倍数怎么办呢 例如我们的原文为Ma它不够3个那么只能在编码后的字符串中补了。缺一个字符补一个缺两个补两个即可所以有时候你会看见base64字符串结尾有1个或者2个。