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

 我来答
风流沼
2017-09-18 · TA获得超过142个赞
知道小有建树答主
回答量:108
采纳率:0%
帮助的人:94.3万
展开全部
这个从理论上讲是无法判断的,因为base64只是个编码算法,不是类似http/ftp这种规范的协议,因此没有标志位来表示此字符串是base64编码过的。
但是,我们可以通过Base64编码后的特征来判断大概判断(可能误判)。
Base64是一种将任意数据串,转换成可以用 [A-Za-z0-9/+=] 这64个字符组成的可见字符串的方法。其中 “=”只能出现在末尾,最多2个,最少0个。
因此,当一个字符串正则匹配 [A-Za-z0-9/+]+[=]{0,2} 的集合中时,则有较大的可能为base64编码。
这在特定的情况下是有效的,如判断接收到的一个图片文件数据是否Base64加密了。
但对于一个本省就是纯英文的字符串,那就极可能误判了,且没有简单的办法判断,复杂的可以采用语法分析,这个就难度太大,不太现实了。如果实在有这种情况,只能从数据来源进行区分。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式