1
yanguangs 2019-07-05 14:03:51 +08:00
base64 是加密??
验证数据完整不都是 md5,sha1,sha256 吗? 要求再高点就 hmac 了. |
2
uqf0663 2019-07-05 14:04:51 +08:00 21
不是防爬虫,是防搜索引擎的蜘蛛(当然也算爬虫),就是说例如人家在百度搜索我的 email 搜索不到而已,因为搜索引擎的快照是原样的,而不会去解码,你要搞清楚,这目的是编码,不是加密,目的是为了不让要人肉你的人轻松通过搜索引擎找到你的历史,但是还是要让回帖的人能够找到你的,当然你要高兴,你也可以把你的 email 的 md5 结果贴上来,看看有没有人找到你。
|
3
weifengzi2009 2019-07-05 14:06:03 +08:00 2
base64 从来就不是一种加密算法啊。。。。
|
4
zzhong 2019-07-05 14:06:25 +08:00 47
base64 本来就是编码,谁说是加密了。如果用 MD5 加密,谁还能找到你邮箱地址?
本来就是为了能让别人解码的同时防止被爬虫抓取发垃圾邮件,防止被人随意人肉。 你这帖子是为了显摆自己比大部分人懂得多? |
5
doublleft 2019-07-05 14:07:01 +08:00 21
v 站对于小白宽容不少了
|
6
hoyixi OP |
7
LxExExl 2019-07-05 14:08:09 +08:00 6
一切信息的传递都是编码
高级程序编程属于编码 加密也属于编码 编码不全是加密 |
8
glenChen 2019-07-05 14:08:15 +08:00 2
狗乎上问问题的常识了解下,先问是不是,再问为什么
|
10
weifengzi2009 2019-07-05 14:08:50 +08:00
@hoyixi #6 这个确实是。。我也曾经在 v2 见到过。。
|
11
icy37785 2019-07-05 14:09:38 +08:00 via iPhone
没看明白你在说啥,也没明白你理解里的加密是啥意思。
任何的算法都是跟用途有关的,wx 和 email 用 base64 就是正确的用途呀。 |
13
icy37785 2019-07-05 14:11:54 +08:00 via iPhone 19
@zzhong #4 虽然楼主理解肯定出了问题,但是你的理解也反了,md5 不是加密,它是摘要,base64 按照古典密码学的要求属于加密,现代密码学要求密钥以后它才不属于加密的。
|
14
Cbdy 2019-07-05 14:12:13 +08:00 via Android 6
在密码学中,加密(英语:Encryption )是将明文信息改变为难以读取的密文内容,使之不可读的过程。只有拥有解密方法的对象,经由解密过程,才能将密文还原为正常可读的内容。
按照这个定义,使用 base64 编码信息是一种加密方法 |
15
moonsola 2019-07-05 14:12:35 +08:00
把 base64 当加密算法的没注意到过,不过我觉得分不清加密算法和摘要算法的更多……
|
17
whwq2012 2019-07-05 14:13:57 +08:00 via Android
在对一个词定义之前还是别吵了。
|
18
blless 2019-07-05 14:15:23 +08:00 via Android
首先 md5 crc 之类的摘要算法肯定不是
base64 广义来说是加密,他的算法是公开的,码表大家都默认一种,我把码表换一下你们肯定就解不了。只不过大家现在用通用码表去解码而已 |
20
Raymon111111 2019-07-05 14:18:05 +08:00
讨论这个问题最好的方法是问这个
md5 是不是加密算法? |
21
zz656565 2019-07-05 14:18:10 +08:00
那我们以后都用二进制(UTF-8)吧,比如:
01001000 01100101 01101100 01101100 01101111 00100000 01110111 01101111 01110010 01101100 01100100 |
23
ochatokori 2019-07-05 14:19:22 +08:00 via Android 4
编码:只需要知道算法就可逆
加密:还原密文不依赖算法的保密(需要密钥) 摘要:不可逆 |
24
hoyixi OP |
25
jswh 2019-07-05 14:25:22 +08:00
编码
摘要 对称加密 不对称加密 傻傻分不清楚 |
27
whoami9894 2019-07-05 14:26:31 +08:00
个人认为梅花鹿只是一种鹿,不算是一种马
|
29
wysnylc 2019-07-05 14:27:09 +08:00 1
123 是编码,abc 是编码
编码包含加密,而加密分为对称加密,非对称加密 然后对称加密中又有部分是不可逆加密例如 MD5 你悟了吗? |
30
misaka19000 2019-07-05 14:28:12 +08:00 1
楼主说的这种小白在 V 站应该不存在
|
32
zlccn 2019-07-05 14:28:27 +08:00 via iPhone 1
base64 出现到现在定义都是编码,你哪儿看的是算法,发出来我瞻仰一下
|
33
98jiang 2019-07-05 14:28:37 +08:00
” MD5 加密“
|
34
manzhiyong 2019-07-05 14:29:16 +08:00
md5 不是加密
|
35
misaka19000 2019-07-05 14:29:39 +08:00
@wysnylc #29 base64 这种算法完全公开的编码方式应该不能算加密吧
|
36
fy 2019-07-05 14:31:50 +08:00
> 不少人 base64 编码 email 或者 WX 等联系方式,那是骗爬虫的,爬虫是根据文本特征提取文本的,base64 只不过隐藏了 email 地址等的文本结构特征。 然而照样可以抓 base64 编码,然后解码判断提取。
那又如何?我来告诉你这个操作对爬虫意味着多了什么: 1. 提取出页面上疑似 base64 编码的文本 2. 尝试使用 base64 解码,如果解码失败则跳过,或尝试其它解码算法 3. 如果解码成功,那么判断是否包含联系方式 4. 定位到原文本,结合原文本上下文获取辅助信息,例如是微信 /手机号 /某某 IM 的 ID 还是其它 无 base64 情况: 1. 一条正则带走,数据入库,下一个。 |
37
yanguangs 2019-07-05 14:32:55 +08:00
@hoyixi
堆成加密也好,非对称加密也好,都可以从加密的结果和秘钥反推生成这个密文的原文. 你这个场景里面,如果要把密码传输过去,自然要是加密 /解密的. 如果只是用户登录这种,摘要算法也可以做到了. |
38
icy37785 2019-07-05 14:33:03 +08:00 via iPhone 3
@hoyixi #28 没有人会用“ base64 加密你的重要信息”,大家用 base64 混淆 vx 和 email 就是因为 base64 有约定俗成的码表。
这就够了,这点都搞不明白的,剩下的也别指望了。 |
39
green15 2019-07-05 14:33:49 +08:00 via iPhone 1
加密联系方式是提高进入门槛,而不是堵门,懂的人自然懂,不懂那也不是目标人群……要堵门我干嘛不用 MD5、AES,或者不放出不行吗?
就拿考试来说,面对人不同,1+1 =?是考试,lne =?也是考试,你出个四色定理,让人解答就是深井冰 |
41
icy37785 2019-07-05 14:35:20 +08:00 via iPhone
@misaka19000 #35 我们常用的加密算法算法都是公开的呀,按照加密的定义 base64 肯定是算加密的,包括在古典密码学领域都算加密,只是现代密码学开始要求加密需要密钥了,base64 不需要密钥,所以在现代密码学场景不属于加密了,算法公开倒不是事
|
42
shiji 2019-07-05 14:35:49 +08:00 via Android
Base64 不是密码学上的加密,但是或许可以算得上生活用语的加密。
把字倒着写,藏头诗,火星文,都算得上广义的加密。 |
43
winterfell30 2019-07-05 14:35:59 +08:00
V 站也玩了四五年了,还真没见过楼主说的用 base64 加密重要信息的,基本上都是 VX QQ 群和邮箱,楼主能发个谁用 base64 加密密码的截图吗
|
44
jswh 2019-07-05 14:36:26 +08:00
@hoyixi
莫激动,我是友军。 密码学意义上的我不懂,我没学过。 但是日常使用中,base64 应该只能算信息编码的用于数据传输,如果编码用户数据混淆的小时候也可以起到一定的数据加密效果。md5 之类的是信息摘要,用于验证数据的正确性,防止被修改。说到加密要么是对称加密,要么是非对称加密,需要密钥才可以还原数据。 主贴中所谓的加密,应该就是数据混淆的时候起到的一定的(加密)效果吧。要严苛的区分,还是学习密码学。 |
45
hoyixi OP @fy
想抓 email/WX,只尝试 base64 解码,匹配 email/WX 就行了 “例如是微信 /手机号 /某某 IM 的 ID 还是其它”,说的好像,不 base64 你抓的就不判断了? 比如我知道 V 站的人喜欢 base64 留 email, 抓一下解码(解不了拉倒,不试了)匹配好了,多一步解码罢了。 |
46
hoyixi OP |
47
fhy1994 2019-07-05 14:39:37 +08:00
MD5 不是加密算法,是散列算法,或者叫做哈西算法。
加密算法一般指对称加密算法。 |
48
Patrick95 2019-07-05 14:39:47 +08:00 6
大家之所以会把 QQ、微信号进行一层编码的原因是为了增加被人肉搜索的难度,留下明文被搜索引擎收录的话,很容易被有心的人一层层扒光衣服。
然后你的这个帖子之所以会踩那么多人的尾巴,是因为说了一个极为浅显的事实。 就像你在星巴克咖啡厅里,大声跟其他顾客说「大家注意喔超大杯其实是大杯,大杯其实是中杯,中杯其实是小杯」,讲得是没错,出发点也是好心,但是大家会觉得「我擦,我都金卡了还用你来告诉?」 |
49
krixaar 2019-07-05 14:40:07 +08:00
@Raymon111111 或者“凯撒密码算不算加密?”
|
50
jswh 2019-07-05 14:40:32 +08:00
另外,插个话,还有谁记得以前得佛曰
|
51
hoyixi OP |
52
Patrick95 2019-07-05 14:46:20 +08:00
我再补充下,以前的互联网上很多网站留下的邮箱地址,会把 @ 写作 #,比如 admin#qq.com(请自行将 @换成#),或者直接把邮箱地址做成图片。
这么做的目的就是为了杜绝一些爬虫将自己的邮箱地址爬到垃圾邮件客户数据库中,不然会收到大量的 spam。 如今 base64 编码自己的联系方式和上面邮箱地址有点异曲同工,都是为了保护自己的信息不被恶意抓取,而增加的一点点爬取的难度。 |
53
whypool 2019-07-05 14:46:41 +08:00 1
不是明文阅读的,都属于加密
不能以解密难度来判断是不是加密的 base64 也是加密,只不过现在工具成熟随时都能解,不然你不用计算机不用工具自己解一个试试? md5,aes,sha256,这些只是解密难度高,如果以后出个工具不用私钥随便就能解 aes,是不是也要发个贴喷一下 aes 算啥加密? |
54
wysnylc 2019-07-05 14:47:10 +08:00
@misaka19000 #35 一个黑人足够白之后就不属于黑人了嘛?加密算法定义不应当被使用者的意志而转移.加密指的是不同于原数据的密文而不是"秘密的密文"
|
55
geelaw 2019-07-05 14:49:34 +08:00 via iPhone 1
从美学上来说,现代研究者会将文法、正确性和安全性分开定义。当然,当人们说“加密”的时候,人们通常都想要表达的是“正确且安全的加密方案”。
Base64 符合加密方案的文法和正确性要求,但是不满足任何有价值的安全性定义。 |
56
Hstar 2019-07-05 14:50:27 +08:00 1
我觉得 lz 你对加密的理解有点狭隘,广义上的‘加密’包含所有‘编码’,编码如 base64 属于对称加密,md5 等摘要属于非对称加密。
只是在某些场景下,我们会只把无法还原的非对称加密称为加密,把一些大家都知道解码规则的对称加密称为编码如 base64。如楼上所说,凯撒密码算加密还是编码呢,你不能说你知道怎么解码所以这算编码。那么我把一篇中文文章翻译成日文,对只懂中英文的人来说算加密吗? |
57
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 没有实质差别 |
59
way2create 2019-07-05 14:53:44 +08:00
牛逼
|
60
kisshere 2019-07-05 14:54:23 +08:00
我也觉得是,要不然很多人为啥留联系方式都是留 base64,而不是一个 md5 ?
|
61
icy37785 2019-07-05 14:54:26 +08:00 via iPhone 4
@hoyixi #46 你还没明白,你看到的那一群人加密的都不是重要信息,你以为就你聪明?
你是用什么样的思维模式会认为往网上发的信息是重要信息。 别人就是要分享自己的微信,分享自己的 qq,分享自己的手机号,分享自己 email,分享一些共享账号,要分享的东西你称之为重要信息? base64 用来分享的优点就是特征明显,码表公开,看到的大多数都能认出来并且知道如何去解码。 你用你自以为比别人聪明的大脑想出来这样爬虫好识别特征的逻辑,那你再用你自以为比别人聪明的大脑想想,你换个算法,你需不需要给密钥,特征别人认不出来你需不需要给加密算法,你认为爬虫硬要爬爬不爬不爬得到,就算爬虫觉得麻烦不愿意爬了,你觉得你分享的东西还能不能分享出去,还有多少人愿意去解密看内容。 都是为了目的服务的,你都不管别人发出去的信息的目的,就自以为聪明,真的好笑,态度好一点还愿意讨论一下,你这说话的态度,block 了 |
63
nisnaker 2019-07-05 14:55:59 +08:00 2
看了楼主的回复,我有点心疼楼上那些认真回帖的人。。。
|
65
leo108 2019-07-05 14:59:16 +08:00
这帖子分 3 派,挺楼主派、反楼主派还有分不清加密、摘要、对称非对称加密瞎发表意见派
|
66
danmu17 2019-07-05 15:01:04 +08:00 1
md5/sha1 也仅仅只是 hash 算法而已,仅仅适合用来处理 1024 位以上的密钥。
用他们来处理普通密码本身也是极度不安全的事情。 楼主的本质就是用极度不专业的用语和思路来描述一件自己都不清楚实质的事情的不懂装懂的半桶水啊。 |
68
opengps 2019-07-05 15:01:34 +08:00
我刚做了这个么功能强调了下,base64 是编码,不是加密。至少从没有密码的角度讲,这就不合格
|
69
danmu17 2019-07-05 15:03:02 +08:00
@nisnaker 可惜楼主这种半桶水已经是现在的 V2EX 的平均水准以上了,连 base64 是啥都不知道的也大有人在啊。
|
70
msaionyc 2019-07-05 15:04:41 +08:00
你说啥呢,v2 谁发帖说 base64 是加密了?
你这好像大家都在食堂安静地吃饭,你突然站起来说“我个人觉得炒白菜不属于荤菜”,你觉得搞笑不 |
71
efaun 2019-07-05 15:05:06 +08:00 1
这种引战贴毫无意义,建议 block
|
72
krixaar 2019-07-05 15:05:50 +08:00
其实就是个标题:“小贴士:对重要信息进行 Base64 编码并不能提高安全性” 内容:“请不要这样做”的水贴,组织语言组织成这样……
不过楼里还有 md5 和 aes 放一起说的也是…… |
73
cjlmwcy 2019-07-05 15:06:59 +08:00
楼主那个发的那个帖子 /t/577546 《如何将密码安全的发送给别人?》,里面确实有人说“ base64 加一道密”这样的话啊
|
75
hoyixi OP |
76
nekoneko 2019-07-05 15:09:04 +08:00
佛曰:冥僧地顛無怯道諳吉諳闍罰殿般等智諳遮上罰死亦礙苦諳摩蒙呐波奢羯奢諦竟利梵闍罰爍梵訶皤勝若缽伊遮皤都冥苦是哆智那哆槃阿冥醯三諳姪諳曳俱密侄藝老俱夜諳伊寫梵爍奢故不諳勝多奢苦哆。吉侄遮薩怯所醯冥能般漫不罰集侄者麼俱羅蘇缽尼勝哆僧缽夜梵殿罰阿梵跋咒竟切以耶冥謹諸缽顛姪缽真怯提冥地依呼呐地缽夢以皤提悉薩皤多曰缽吉呐一伊恐皤。侄闍呐以侄輸哆咒爍羯冥闍羅冥逝
|
77
hoyixi OP |
78
across 2019-07-05 15:14:42 +08:00
密码学开头讲的就是凯撒移位吧(我没正式学过),大概按古典意义算,这种编码还算“加密”。
不过这种文字概念没什么值得争的。按程序员角度,这些公开编码机制的都不能算加密。管你对称不对称,至少得有个密钥才算“密”。实际上我看论坛是有些人没区分加密概念·····毕竟看到还有好多中学生,密码学都没开始接触。 |
79
krixaar 2019-07-05 15:15:24 +08:00 1
@hoyixi #75
你说的其实是“我个人认为可回收的就不是垃圾,而是另一种形式的资源,可回收垃圾这个说法是错的”, 然后一群人指出“但是它现在这个状态就是垃圾,你不能说它可回收再利用就不算垃圾了”, 你就“我就想让你们环保,你们怎么一群专家大牛在这瞎扯学术” 我也够无聊的上个班水这个帖子 |
80
busymilk 2019-07-05 15:17:12 +08:00
还有用 md5 做联系方式的呢
|
81
niubee1 2019-07-05 15:22:06 +08:00
由此贴可见为什么网络漏洞层出不穷。。。。。。
|
82
danmu17 2019-07-05 15:22:17 +08:00
@across 你搞错重点了,你想的这个问题的实质是现代汉语导致的,毕竟现代汉语是一个诞生不到 100 年而且仅仅依靠几个留学生从日语 /英语里拼凑出来之后又被割裂到两岸三地外加一个新加波的四种语言。
base64 是 binary-to-text encoding, MD5 message-digest algorithm 是 hash function, RSA (Rivest – Shamir – Adleman) 是 the first public-key cryptosystems |
83
Aresxue 2019-07-05 15:22:37 +08:00
看你怎么定义加密。Base64 从一开始就不是为了加密信息的。。。
|
84
limuyan44 2019-07-05 15:23:50 +08:00 via Android
我感觉很多人似乎连密码学基础都没有就在谈论这个问题,争论这个其实没有多大意义,现代密码学为了保证中间人攻击的难度更多的是通过计算复杂度来保证明文安全,谈论这个问题本身就没有意义,公认的加密算法其实你也知道解密算法的比如 rsa 难道你不知道解密的算法吗?何况部分的 rsa 加密算法已经被破解了,如果以后超级计算机计算能力提高这种情况还与 base64 有区别吗?
|
85
nvkou 2019-07-05 15:24:09 +08:00 via Android
广泛应用的霍夫曼编码算不算?
base128 算不算? 算。你不说这是 base128,谁知道啊? |
86
rekulas 2019-07-05 15:24:13 +08:00
base64 认为是编码或加密都不算错,说加密是因为它确实符合加密的概念,说编码是因为加密方法太简单了人人皆知而且没有密钥拿到即可解密,举个简单的例子,把 base64 乱序并改进范围成 base9999,即使没有密钥你也很难解密,反之采用 aes256+固定密钥作为一个新的加密算法 aes222,即使 aes 是高强度加密,但算法人人都知道(同 base64)的话那就成编码了,所以我认为加密与编码不是唯一不变的
|
87
tabris17 2019-07-05 15:24:19 +08:00
ROT13 都算加密,凭啥 BASE64 不算
|
89
senghoo 2019-07-05 15:26:13 +08:00
知道 base64 的原理的都知道,其实 email 做 base64 后发出来也是不靠谱的。是有固定特征的。
从反垃圾邮件的角度考虑的话,当前可能没有爬虫能处理。不代表以后没爬虫能处理。 比如说 gmail 邮箱 base64 后,后缀是固定的以下几个之一。对于爬虫来说只是稍微增加了难度而已 AZ21haWwuY29tCg== QGdtYWlsLmNvbQo= BnbWFpbC5jb20K |
90
linvaux 2019-07-05 15:27:21 +08:00 via Android
它从来都不是加密算法🌚
|
91
jaylee77 2019-07-05 15:27:54 +08:00 1
@hoyixi
比如我知道 V 站的人喜欢 base64 留 email, 抓一下解码(解不了拉倒,不试了)匹配好了,多一步解码罢了。 ===== 你是不是没搞清楚大家为什么留 vx 或者 email 喜欢用 base64 编码? 人家是为了防止被社工啊,不知道你在这扯什么东西 |
92
liukanshan 2019-07-05 15:29:36 +08:00
完全不理解这贴意义何在 如果是科普 可以做一些高深的东西吗?
|
93
wednesdayco 2019-07-05 15:35:47 +08:00
Base64 是算法
Base64 是加密 但是 Base64 不是加密算法 |
94
across 2019-07-05 15:39:23 +08:00
@danmu17
??? 我的意思就是纠结语义没意思啊。针对论坛的问题是加密方案问题。 Base64 和 ASCII 一样,按理论意义可以说是加密,但现实中因为编码机制是公开的,实际应用就没有加密意义。凯撒移位也是加密,按理论也有个密钥,但是这个应用也是靠算法来保密的。 现在社会应用的加密,RSA、ASE 等等,都是公开算法,但里面设计包含关键密钥来保证私密性吧?更先进的加密算法我就不知道了。 |
95
iblessyou 2019-07-05 15:39:55 +08:00 1
怎么感觉楼主也是了解不太清楚。
维基百科解释: 加密(英语:Encryption )是将明文信息改变为难以读取的密文内容,使之不可读的过程。只有拥有解密方法的对象,经由解密过程,才能将密文还原为正常可读的内容。 从这个角度来说,两个学生用英语传信,来防止不会英文的家长看到也算加密。 我也一直把 base64 当加密用,朋友圈之类发一下,可以屏蔽到需要令人讨厌的亲戚朋友。 而同事一眼就看出是什么,随手复制就解读了。效果很好。 而别的高级的加密方式,我发了可能就没有人能懂了。 程序员之间用 base64 当加密交流很正常啊,可以屏蔽好多行外人和小白。 你把图片转 BASE64 当编码用他就是编码, 你当加密用他就是加密。 就这还斗的一帖子的火气 |
96
caviare 2019-07-05 15:49:00 +08:00
我觉得大家 v2 用 base64 发 email wx qq 是一种约定成俗 大家习惯了 前辈们这么发 新进来的看到了 自然而然就也会用 base64 发 也没人发个帖子说 base64 是加密 base64 牛啤 你发个这个帖子 是想打谁的脸 还是单纯的像引战呢?
|
97
hundan 2019-07-05 15:49:54 +08:00 via Android
月经贴
|
98
joyhub2140 2019-07-05 15:58:46 +08:00 1
不用 base64 默认的码表,采取自定义的码表,并且不公开,还是可以用来加密的。
|
99
dalieba 2019-07-05 15:59:53 +08:00 via Android
GnuPGP 来了解一下
|
100
hiplon 2019-07-05 16:01:19 +08:00
前排
|