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

2019-07-05 14:00:26 +08:00
 hoyixi
看到 V 站上不少在加密相关的回帖里,以为用 base64 编个码,就算加密了.

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

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

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


所以,base64 不是万能的,别为了 base64 而 base64,也别以为 base64 包打天下。
23476 次点击
所在节点    程序员
201 条回复
icy37785
2019-07-05 14:35:20 +08:00
@misaka19000 #35 我们常用的加密算法算法都是公开的呀,按照加密的定义 base64 肯定是算加密的,包括在古典密码学领域都算加密,只是现代密码学开始要求加密需要密钥了,base64 不需要密钥,所以在现代密码学场景不属于加密了,算法公开倒不是事
shiji
2019-07-05 14:35:49 +08:00
Base64 不是密码学上的加密,但是或许可以算得上生活用语的加密。
把字倒着写,藏头诗,火星文,都算得上广义的加密。
winterfell30
2019-07-05 14:35:59 +08:00
V 站也玩了四五年了,还真没见过楼主说的用 base64 加密重要信息的,基本上都是 VX QQ 群和邮箱,楼主能发个谁用 base64 加密密码的截图吗
jswh
2019-07-05 14:36:26 +08:00
@hoyixi
莫激动,我是友军。

密码学意义上的我不懂,我没学过。

但是日常使用中,base64 应该只能算信息编码的用于数据传输,如果编码用户数据混淆的小时候也可以起到一定的数据加密效果。md5 之类的是信息摘要,用于验证数据的正确性,防止被修改。说到加密要么是对称加密,要么是非对称加密,需要密钥才可以还原数据。

主贴中所谓的加密,应该就是数据混淆的时候起到的一定的(加密)效果吧。要严苛的区分,还是学习密码学。
hoyixi
2019-07-05 14:37:04 +08:00
@fy
想抓 email/WX,只尝试 base64 解码,匹配 email/WX 就行了

“例如是微信 /手机号 /某某 IM 的 ID 还是其它”,说的好像,不 base64 你抓的就不判断了?

比如我知道 V 站的人喜欢 base64 留 email, 抓一下解码(解不了拉倒,不试了)匹配好了,多一步解码罢了。
hoyixi
2019-07-05 14:39:30 +08:00
@icy37785
你不会,别人不会?

我要不是看到有不少人回帖把 base64 当加密用,才懒得发这帖子。

看这回复,扯 md5 的,咬文嚼字的,真是好笑
fhy1994
2019-07-05 14:39:37 +08:00
MD5 不是加密算法,是散列算法,或者叫做哈西算法。

加密算法一般指对称加密算法。
Patrick95
2019-07-05 14:39:47 +08:00
大家之所以会把 QQ、微信号进行一层编码的原因是为了增加被人肉搜索的难度,留下明文被搜索引擎收录的话,很容易被有心的人一层层扒光衣服。

然后你的这个帖子之所以会踩那么多人的尾巴,是因为说了一个极为浅显的事实。
就像你在星巴克咖啡厅里,大声跟其他顾客说「大家注意喔超大杯其实是大杯,大杯其实是中杯,中杯其实是小杯」,讲得是没错,出发点也是好心,但是大家会觉得「我擦,我都金卡了还用你来告诉?」
krixaar
2019-07-05 14:40:07 +08:00
@Raymon111111 或者“凯撒密码算不算加密?”
jswh
2019-07-05 14:40:32 +08:00
另外,插个话,还有谁记得以前得佛曰
hoyixi
2019-07-05 14:44:48 +08:00
@winterfell30
/t/577546

自己去看回复。 我是不止一次看到了

ps:自己没见过,不代表不存在。
Patrick95
2019-07-05 14:46:20 +08:00
我再补充下,以前的互联网上很多网站留下的邮箱地址,会把 @ 写作 #,比如 admin#qq.com(请自行将 @换成#),或者直接把邮箱地址做成图片。

这么做的目的就是为了杜绝一些爬虫将自己的邮箱地址爬到垃圾邮件客户数据库中,不然会收到大量的 spam。

如今 base64 编码自己的联系方式和上面邮箱地址有点异曲同工,都是为了保护自己的信息不被恶意抓取,而增加的一点点爬取的难度。
whypool
2019-07-05 14:46:41 +08:00
不是明文阅读的,都属于加密

不能以解密难度来判断是不是加密的

base64 也是加密,只不过现在工具成熟随时都能解,不然你不用计算机不用工具自己解一个试试?

md5,aes,sha256,这些只是解密难度高,如果以后出个工具不用私钥随便就能解 aes,是不是也要发个贴喷一下 aes 算啥加密?
wysnylc
2019-07-05 14:47:10 +08:00
@misaka19000 #35 一个黑人足够白之后就不属于黑人了嘛?加密算法定义不应当被使用者的意志而转移.加密指的是不同于原数据的密文而不是"秘密的密文"
geelaw
2019-07-05 14:49:34 +08:00
从美学上来说,现代研究者会将文法、正确性和安全性分开定义。当然,当人们说“加密”的时候,人们通常都想要表达的是“正确且安全的加密方案”。

Base64 符合加密方案的文法和正确性要求,但是不满足任何有价值的安全性定义。
Hstar
2019-07-05 14:50:27 +08:00
我觉得 lz 你对加密的理解有点狭隘,广义上的‘加密’包含所有‘编码’,编码如 base64 属于对称加密,md5 等摘要属于非对称加密。
只是在某些场景下,我们会只把无法还原的非对称加密称为加密,把一些大家都知道解码规则的对称加密称为编码如 base64。如楼上所说,凯撒密码算加密还是编码呢,你不能说你知道怎么解码所以这算编码。那么我把一篇中文文章翻译成日文,对只懂中英文的人来说算加密吗?
SoloCompany
2019-07-05 14:50:48 +08:00
charset-encoder: utf8, gb18030, latin1, … 把 unicode 字符编码为字节的方案
binary-encoder: 8-bit, qp, base64, gzip, chunk, … 把字节编码为字节的方案, 编码结果不需要稳定, 必须可逆, 目的是为了传输信息
digest: md5, sha1, … 信息散列, 把字节原始信息去除, 只保留指纹, 散列结果必须稳定, 必须不可逆
cipher: rc4, ide, aes, … 信息加密, 和 binary-encoder 很类似, 但目的不是为了传输信息而是加密信息, 在公开密钥的前提下, 和 encoder 没有实质差别
hoyixi
2019-07-05 14:52:08 +08:00
@Hstar #56
会用 base64 加密密码的人,我要发帖提醒他们,你觉得我在帖子里扯那么学术有用吗?
way2create
2019-07-05 14:53:44 +08:00
牛逼
kisshere
2019-07-05 14:54:23 +08:00
我也觉得是,要不然很多人为啥留联系方式都是留 base64,而不是一个 md5 ?

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

https://www.v2ex.com/t/580295

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

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

© 2021 V2EX