个人认为 base64 仅是一种编码方式,不算是加密算法

2019 年 7 月 5 日
 hoyixi
看到 V 站上不少在加密相关的回帖里,以为用 base64 编个码,就算加密了.

是个人顺手就解码了(当然,超级计算机小白,连 base64 编码特征也看不出来或者压根不知道这回事,倒是不知道解码),这算哪门子加密?

base64 编码本身出现的意义是把二进制数据编码为文本,方便网络传输~

不少人 base64 编码 email 或者 WX 等联系方式,那是骗爬虫的,爬虫是根据文本特征提取文本的,base64 只不过隐藏了 email 地址等的文本结构特征。 然而照样可以抓 base64 编码,然后解码判断提取。


所以,base64 不是万能的,别为了 base64 而 base64,也别以为 base64 包打天下。
25507 次点击
所在节点    程序员
201 条回复
Youngxj
2019 年 7 月 6 日
小白路过,很少用 base64
xuanbg
2019 年 7 月 6 日
@uptime 密语和加密根本就不是一回事呀。
presoul
2019 年 7 月 6 日
月经 如果是科普 请深层次的解读
这几句话无意义 只会让别人认为楼主的水平
cybernil
2019 年 7 月 6 日
发帖要手机号验证了?
snoopy1024
2019 年 7 月 6 日
@ochatokori 通透
B0HNSlX
2019 年 7 月 6 日
@uptime
这篇托福阅读虐杀我哟 T T
uqf0663
2019 年 7 月 6 日
@rpish 那难度就大多了,我 base64 的内容可以是“微信:xxx ” “ wechat:xxx ” “邮箱:xxx ” “ email:xxx ” 之类的,base64 出来的结果完全的不同,你要难以穷举我的所有内容。
hhhsuan
2019 年 7 月 6 日
理解这个问题分三个阶段:
1. base64 可以用来加密
2. base64 根本不是加密
3. 加密本质就是一种编码,base64 也可以算是加密,只不过我们不用它来加密罢了

楼主现在走到了第 2 阶段。
Joshua999
2019 年 7 月 6 日
那那些古典加密,二战时的恩格玛,现在来说都不难破解,它们还算加密算法吗?
编码和加密确实有点不好区分,应该要看它们的目的吧,编码是为了便于传输和存储,加密是为了不让别人轻易活的明文信息。用 base64 编码的目的显而易见。
miaomiao888
2019 年 7 月 6 日
众人皆醉楼主独醒而事实上往往相反的样子
7r0y
2019 年 7 月 6 日
如果是之前的学英语留 VX 号的帖子
个人认为,base64 确实不算是“加密”
使用 base64 之后能在一定程度对于心怀不轨的人,能在一定程度上防止搜索引擎对微信账号的明文搜索。
xfriday
2019 年 7 月 6 日
加密是编码的一种,取决于密码本公不公开,base64 的密码本是公开的,所以就不是加密了
FrankHB
2019 年 7 月 6 日
ji4ozhu
2019 年 7 月 7 日
留 wx.qq.email 之类的 base64 是因为 不想被爬虫爬去发垃圾广告.
tankren
2019 年 7 月 7 日
简单加密也算加密啊 门外汉也看不懂
1mi8delaowang
2019 年 7 月 7 日
防搜索引擎而已 老哥
jinliming2
2019 年 7 月 7 日
有人把 base64 和 凯撒密码 扯在一起,看起来差不多,但重要区别在于:
凯撒密码的“密码”,也就是字母偏移是保密的(不讨论暴力破解的问题),不知道偏移就无法解密。
而 base64 的码表是作为标准固定的(当然也有几种变体,但也是有固定标准的),也就是通过 base64 一定得到相同结果。
这就是 base64 与凯撒密码的区别,一个得到的结果是固定的,一个可以通过不同密码得到不同结果。所以一个只是编码,另一个才是加密方式。

如果你把 base64 的码表做了修改,那么的确,只有拿到你修改版本的码表才能知道原始内容了,这时就已经不符合 base64 标准了, [它就不是 base64 了] 。你就可以用不同的码表作为密码,把这种转换当成凯撒密码来用。

还有 MD5 的问题:编码存在解码的过程,加密也存在解密的过程,而 MD5 是不可逆的(不考虑暴力列表的方法,并且同样的 MD5 理论上也对应无数种原数据),所以它即不属于编码算法,也不属于加密算法,只能叫做摘要算法。
cyspy
2019 年 7 月 7 日
base64 设计的目的是让二进制文件变成可打印字符,方便印出来的
leekafai
2019 年 7 月 7 日
“今晚那个吗”
这句话算不算加密了?
不好说,对会话双方来讲,是明文,对其他人来讲,是密文。
那这句话加密了吗?我想是有的,只是加密的方式,不是你所理解的加密方式。
那 Base64 算加密手段吗?
对于不知道使用 Base64 的人来说,是非明文的,像是加密了似的。
但 Base64 确实只是一种编码方式,但不妨碍大家使用普通的编码方式降低明文的可读性。
所以,使用透明的编码方式能不能达到加密的效果呢?输出算不算是加密呢?
所以,今晚那个吗?
wendellyih
2019 年 7 月 7 日
楼主的理解是对的。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://study.congcong.us/t/580295

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX