永发信息网

如何判断一个字符串是否经过base64加密过

答案:3  悬赏:70  手机版
解决时间 2021-01-09 12:46
如何判断一个字符串是否经过base64加密过
最佳答案
1.标准base64只有64个字符(英文大小写、数字和+、/)以及用作后缀等号;
2.base64是把3个字节变成4个可打印字符,所以base64编码后的字符串一定能被4整除(不算用作后缀的等号);
3.等号一定用作后缀,且数目一定是0个、1个或2个。这是因为如果原文长度不能被3整除,base64要在后面添加\0凑齐3n位。为了正确还原,添加了几个\0就加上几个等号。显然添加等号的数目只能是0、1或2;
4.严格来说base64不能算是一种加密,只能说是编码转换。使用base64的初衷。是为了方便把含有不可见字符串的信息用可见字符串表示出来,以便复制粘贴;
全部回答
应该是可以加的!

        首先,Base64算不上是一种加密算法。

        Base64是网络上最常见的用于传输8Bit字节代码的编码方式之一,它的目的是用ASCII中定义的可见字符去表示任意的二进制数据。之所以要这样做,是因为计算机中很多数据是只能通过可见字符去传输的(比如我们的网站网址,比如一些面向字符的网络协议如SMTP等),但是这些情景有时由需要去传输二进制数据。基于这样的需要,诞生了Base64.
        简单来讲,Base64就是用下列总计64个字符:

A-Z
a-z
0-9
+
/

        去表示二进制数据。二进制数据以字节为组,一个字节8bit存在256个状态,而一个Base64字符只有64个状态。机智的人们于是规定,用每4个Base64字符去表示3个二进制字节,因为:

64 * 64 * 64 * 64 = 256 * 256 * 256

        因此,Base64字符串的长度必然是4的整数倍。此外,由于二进制的字节数不一定是3的整数倍,所以Base64字符串在结尾是可能有空的。这些空的状态,Base64引入第65个字符去表示:

=

        这也是为什么Base64很多都是以=或==结尾的。但是注意,也存在不以=或==结尾的Base64,只要编码的二进制字节数恰好被3给整除。


总结

        一般情况下,一个合法的Base64,有着以下特征:

字符串的长度为4的整数倍。
字符串的符号取值只能在A-Z, a-z, 0-9, +, /, =共计65个字符中,且=如果出现就必须在结尾出现。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
锂电池怎么没电了?48伏没电了怎么回事
已知An=2n^2-15n+3,画出数列的图像, 求数列{A
上联“一花一草皆风景”下联是什么?
pu版跟帆布版有啥区别
求鱼.哪得鱼好吃
齐性出过多少大官
为什么要投公众之所好
在网上看视频学转魔方对自己有什么意义吗?
拿switch玩什么感觉
层高6米,脚手架横杆设置几道
微信「跳一跳」带火小游戏,开发者如何快速
适合初一六一唱的歌
在测量电流时,若测量值为100mA,实际值为98.
俄语专业就业及用人单位
请问成都安靖看守所的电话是多少
推荐资讯
④42-(3.57 ➕0.85),简便方法
请教Nafion膜不同型号的含义
嘉兴新洲国际大酒店有哪几路公交车但
pvc装修室内好不好
给男士领导送什么礼物最适合
现在加盟室内水上乐园赚钱吗
5x减6×4=120
K3金蝶 使用A用户名进入 访问基础信息 速度特
究竟那些唱见是mafu痴汉
歙县百岁老人有多少
求英文歌曲Dying In The Sun (The Cranberrie
精品酒店设计都有哪些类型,本人想投资做精品
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?