101
uptime 2019-07-05 16:04:57 +08:00 2
关于加密,说个故事:
二战时,美军往来电报电文,屡次被日军破解密码,情报存在外泄的危险,后来没有办法,美军找到美国当地的印第安人土著,其中的纳瓦霍人使用的纳瓦霍语由于构成相当复杂,于是这套语言在太平洋战争中直接被美军作为密码,在无线电中使用,以增加日本军破解美方密码的困难度。到战争结束后,这套系统都没有被日本破解。经过简单训练,纳瓦霍人直接作为发报员和接报员派驻进部队,真正的人肉密文发报机。 有兴趣的可以看看根据这事拍成的电影《风语者》 同理,Base64,你可以看成摩斯电码。直至今天,摩斯电码仍然广泛使用。 |
102
ysc3839 2019-07-05 16:06:09 +08:00 via Android 2
这问题本质是不同人对“加密”的定义不同。你要做的应该是说服别人接受你对“加密”的定义,在对方不愿接受你的定义的情况下没必要继续讨论下去了。
|
103
expect00 2019-07-05 16:09:14 +08:00
base64 编码都不算吧,只能算转码 /escaping 方式
|
104
unclemcz 2019-07-05 16:09:51 +08:00
@joyhub2140 请教一下,自定义码表的 base64 解密,不知你有无研究?我最近碰到自定义码表的情况,只有编码后的 base64 字符串(有大量字符串),没有对应的编码前原始字符串,这种情况不知有无办法算出码表?是否有暴破的可行性?
|
105
Creabine 2019-07-05 16:11:43 +08:00 15
自己立个靶子自己打可还行
这是什么高深知识吗还专门解释一哈,这论坛里真搞不清楚的恐怕没几个吧 欣赏楼主的认真 但还是有种一本正经的 “老婆饼里面其实没有老婆哦,大家不要搞错了” 的感觉 hhhh |
106
8a9a09dw12 2019-07-05 16:13:48 +08:00 2
把"个人认为"给老子去了
|
107
nekoneko 2019-07-05 16:14:08 +08:00
@ysc3839 #102 几乎是件不可能的事情。按照密码学的定义,base64 就是加密,可是,who care,管你密码学不密码学,人家就认为能被破解的就不算加密,怎么说服呢。
|
109
killerv 2019-07-05 16:20:16 +08:00 1
人家不是为了加密,就是为了编码不被搜索引擎抓取
|
110
fzzff 2019-07-05 16:21:39 +08:00 1
哈哈,题主在用行动解释什么叫哗众取宠
|
111
WebKit 2019-07-05 16:23:09 +08:00 via Android
@misaka19000 base64 换个码表不就好了。。
|
112
MozzieW 2019-07-05 16:30:02 +08:00 1
这就是网络论坛留言太方便而引起的缺点. 本来直接自己找一下什么是编码, 什么是加密, 就可以确定 Base64 算不算一种加密算法了. 结果不读书不搜索, 直接论坛口嗨一句"这货不能算加密算法", 还有人跟风. 真要了解一下, 这不就是入门的问题吗?
「你的问题主要是读书不多而想得太多」----杨绛 |
113
deepdark 2019-07-05 16:36:49 +08:00 via Android 2
看似你很懂,其实你不懂。
交易区 base64 编码只是为了防止搜索引擎爬取,然后别有用心的人进行人肉的。 你在扯什么重要信息别用 base64?? 信息发在交易区就是要给别人联系的,难道还需要上个 RSA?? 你的点没抓对,要是扣回复区大家“ base64 加密”的字眼没问题。 |
114
vowers 2019-07-05 16:37:28 +08:00
买本密码学的书好好读读 你就知道是不是了
|
115
Kylin30 2019-07-05 16:38:43 +08:00
只有三毛、哪吒、金刚葫芦娃会没事发自己的 base64 密码
|
116
Aixtuz 2019-07-05 16:46:37 +08:00
来帮你们总结:
未达到 “保密” 标准的 “识图加密” 的过程,还算 “加密” 吗? |
117
scotmouton 2019-07-05 16:49:07 +08:00
这个论坛搞不懂 base64 的人是少数;
为什么 base64 编码也有人解释了,就拿交易区的来说,将你的微信或者个人联系方式 base64 编码后发布,能有效的过滤一部分询价或者购买意愿不强的人,这也是一个很重要的因素,因为除了居心不良的人,谁的特意为了一个不想买的东西自己去解码呢?//虽然现在解码很方便; |
118
ooee2016 2019-07-05 16:51:08 +08:00
脑子是个好东西
|
119
joyhub2140 2019-07-05 16:53:08 +08:00 1
@unclemcz 不好意思,我只研究到原理的级别就没深究了,不过,没有明文对照,估计没戏,只能从统计学上去尝试突破,例如出现次数最多的字符,很有可能对应的是 e 之类的,只能帮你到这里了。
|
120
RockShake 2019-07-05 16:54:52 +08:00
你以为这里用这种编码是为了加密么
|
121
byuan04 2019-07-05 16:54:54 +08:00
炸鱼贴?
|
122
keepeye 2019-07-05 16:56:27 +08:00
用 base64 是为了方便传输二进制
|
123
belin520 2019-07-05 16:57:53 +08:00
钩直饵咸,钓出几条大鱼
佩服楼主 |
125
joyhub2140 2019-07-05 16:59:36 +08:00
@unclemcz 当我上面瞎说的哈,统计学在里面应该是没啥用处的 - -
|
127
unclemcz 2019-07-05 17:06:52 +08:00
@joyhub2140 好的谢谢
|
128
log4j 2019-07-05 17:12:38 +08:00
吃瓜吃瓜,看这个标题,然后看看这个态度,emmm,哈哈哈,似乎不是来讨论的,而是来骂街的
|
129
HanMeiM 2019-07-05 17:17:17 +08:00
|
130
ai0by 2019-07-05 17:24:05 +08:00
RSA 才算加密吧
|
131
sevenzhou1218 2019-07-05 17:24:07 +08:00
base64 算加密,md5 不是
|
132
niubee1 2019-07-05 17:30:43 +08:00
在大数据和大规模神经网络的加持下, 功夫网已经不需要解密你的 https 就能知道你是不提到了维和词汇了
|
133
sairoa 2019-07-05 17:33:50 +08:00
个人认为,base64 是一种类似于凯撒密码的古典加密算法,虽然很容易被解码,但仍然可以认为这是一种加解密算法。
|
134
labulaka 2019-07-05 17:35:01 +08:00
Base64 是一种基于 64 个可打印字符来表示二进制数据的表示方法 结贴了 https://zh.wikipedia.org/wiki/Base64
|
135
Davic1 2019-07-05 17:38:35 +08:00 2
认真分析一下楼主的观点, 发现这个观点有点奇怪...
"base64 仅是一种编码方式" 那编码前的内容叫什么? 叫明文(PlainText)大伙儿应该都可以接受吧 假设 base64 是加密, 那么 PlainText 经过 base64 之后的内容, 暂且称之为 [密文] 吧. 这个过程暂且称之为加密 假设 base64 是编码 ,那么 PlainText 经过 base64 之后的内容, 暂且称之为 [码文] 吧. 这个过程暂且称之为编码 我要从 [密文] 读出 PlainText, 经过的步骤是 [解密] . 我要从 [码文] 读出 PlainText, 经过的步骤是 [解码] . 解密的过程: 拿着 [密文] 对照 [加密表] 按照加密的逆过程操作 解码的过程: 拿着 [码文] 对照 [编码表] 按照编码的逆过程操作 ---------------------------------------------------------------------------------- 分析到这里, 对照着上面的分析过程, 我能得出的结论是: 加密, 有编码的特性 编码, 也有加密的特性 那么到底这整个过程到底应该叫加密还是叫编码? em.... 光他妈的到底是波还是粒子啊?????? |
136
iwong0exv2 2019-07-05 17:55:11 +08:00
base64 是加密。
MD5 不是加密。顺带说一下:如果 MD5 算加密的话,那它也应该是压缩效率最高的压缩算法了。 |
137
Hstar 2019-07-05 17:58:18 +08:00
|
138
tanrunhao 2019-07-05 18:00:55 +08:00
用自定义编码表不就能加密了吗…… 看回复大部分居然都认同 base64 不是加密的说法。 虽然我们通常是用默认的编码表,但不代表 base64 不能用作加密
|
139
2067 2019-07-05 18:03:07 +08:00
base64 作为编码方式是把不可见字符编码为可见字符,
md5 属于哈希或者叫摘要算法 认证算法是 hmac,里面的 h 可以选择 md5 也可以 sha256 加密算法分成对称和非对称,base64 算是加密是一种大家都知道密码本的“对称加密方法”,所以就没有任何安全性了。 另外如果自己编一套映射规则,确实对于小白来说就无法破解了,但是实际要想破解还是很容易,不管是通过概率共计或者哪怕是穷举都可以 |
140
Tonyski 2019-07-05 18:04:05 +08:00
钓鱼贴
都 9102 年了,还在玩文字游戏呢,知道是干什么用的不就行了 |
141
Loner233 2019-07-05 18:20:51 +08:00 via Android
那请问凯撒密码算加密吗?
|
142
miniwade514 2019-07-05 18:30:08 +08:00
你这个附言莫名其妙啊。这帖子本身就是在咬文嚼字,结果又怪大家咬文嚼字。
|
143
XD2333 2019-07-05 18:34:32 +08:00
本来论坛留的`base64`后的 wx 和 email 都是为了让人随手解开啊,防一些别的而已。
|
144
jackleelss123 2019-07-05 18:38:34 +08:00
闲的
|
145
mangoDB 2019-07-05 18:38:45 +08:00
**所以,base64 不是万能的,别为了 base64 而 base64,也别以为 base64 包打天下。**
拜托,我只是不想被**普通网民**通过搜索引擎检索我的联系方式而已。至于 base64 打不打天下,这只是你的一厢情愿而已。 你的言论让我想起生活中这样一种场景:你在街上看到一个女生打着一顶普通雨伞遮阳,于是匆忙跑上去,大吼:“拜托,你这顶雨伞并没有**防紫外线涂层**,别以为躲在它下面就不会被晒黑,你应该有点生活常识“。 |
146
shm7 2019-07-05 18:58:40 +08:00 via iPhone
本来就是一种编码方式。密文也是特殊的编码。base64 给我爸妈看,他们识别不了。
|
147
sirm2z 2019-07-05 19:00:40 +08:00 via iPhone
可能是好心发帖,但错误理解了论坛里发 base64 的目的
被 v 友指出来结果气的跳脚,虚心接受又不会掉块肉 |
148
fork 2019-07-05 19:04:20 +08:00
记得好像密码学入门教材一开始会拿 rot13 来做开场白,那 rot13 算不算加密呢?
|
149
good1uck 2019-07-05 19:05:59 +08:00 via Android
年轻气盛啊,楼主未成年吧
|
150
jowenzzzzz 2019-07-05 19:10:22 +08:00 via Android
@icy37785 我觉得算是加密了,不能因为他简单,早期加密不就是字符加减数值吗
|
151
nihiue 2019-07-05 19:43:30 +08:00 via Android
base 64 一直就只是编码,认为是加密的水平也太次了
|
152
SuperMild 2019-07-05 20:40:15 +08:00 1
儿童锁是不是锁?
有一种结构简单的锁,用来锁一些常用的东西,免得用钥匙麻烦,成年人随手就能打开,但低龄儿童打不开,比如小刀、剪刀等可以锁在里面。 那么问题来了,儿童锁是不是锁? |
153
tomato1111 2019-07-05 20:47:18 +08:00
火气有点大。。。。v 上那么多人发邮箱用 base64 只是为了防爬虫而已。。。
|
154
Shura 2019-07-05 20:57:06 +08:00
base64 是加密算法,属于古典加密算法。
|
155
MinonHeart 2019-07-05 21:02:13 +08:00 via iPhone
openssl 支持的都算加密
|
157
smallgoogle 2019-07-05 22:15:24 +08:00
我猜温州话也算是加密。
|
158
paodange 2019-07-05 22:16:26 +08:00 via Android
base64 就是加密啊,怎么不是,只不过加密方式和解密方式都是公开的而已。文本编码一样可以认为是加密,只要不公开如何编码,别人就没办法还原明文。
|
159
niubee1 2019-07-05 22:25:09 +08:00
凡是认为 Base64 算加密的都自己改行吧, 这行不适合你们。别用一些乱七八糟的比喻来妄图说明人肉不能识别的就是加密。连什么是 encoding, 什么是 digest, 什么是 encryption 都分不清楚。技术的事情一是一二是二,那种周易八卦都扯出来的民科程序员更是趁早离开这行,别害人害己了
|
160
madpecker009 2019-07-05 22:30:02 +08:00 via Android
😂😂小白吧。。。不要太较真了 杠精会来的
|
161
Hconk 2019-07-05 22:31:21 +08:00 via iPhone
base64 的问题快成 v 站日经贴了。
|
162
icy37785 2019-07-05 22:44:46 +08:00
@jowenzzzzz 回错人了吧。
|
163
realpg 2019-07-05 22:46:01 +08:00
base64 是一种加密方法
反而常用来存储密码的 md5 sha1 啥的不是 |
164
icy37785 2019-07-05 22:55:18 +08:00 1
@niubee1 前面所有说 base64 算加密的都加了范围是广义范围内,或者古典密码学范畴,你连密码学都没看过,就别跟楼主一样出来哗众取宠了,密码学第一章就对加密的进行了定义,base64 显然是符合定义的。只是在现代密码学范畴才开始对加密要求了密钥。不要你以为不是就不是,目前你知道的不知道的所有加密,都是密码学的成果,不是你以程序员身份可以下定义的,更不是你用你的无知来说别人改行的。。。
当程序员起码应该善于用搜索吧,搜索一下“加密”的定义不难吧,不懂就搜索要求不高吧,就你这不懂,也不去试图弄懂,就开始大放厥词,我倒是想劝劝你,这行不适合你。科学的事情是严肃的,一是一二是二,别用 py 考虑问题,别人民科还动动脑子呢,你这民科都不如的程序员更是趁早离开这行,别害人害己了 |
165
niubee1 2019-07-05 23:41:05 +08:00 1
@icy37785 最烦这种动不动就给你随意扩大范围跟你扯蛋的。什么是 Base64, 什么是密码学都没搞懂的恰恰就是你们这类动不动就比喻类比的“文科帝”。 但是技术的事情,说一是一说二是二, 你要玩嘴炮根文科生玩去。
下面科学的批判一下你的错误。 第一, 维基百科对于 Base64 的解释是:Base64 是一种基于 64 个可打印字符来表示二进制数据的表示方法。而确实 Base64 的由来就是为了用可见字符来描述二进制数据的一种“编码方式”。 何谓编码方式?编码方式是将二进制数据和字符之间进行映射的一种方式,这种映射是计算机系统如何处理文字的基础。这种映射是有序的,比如 97 表示了字符 a, 那么 98 必然标识了字符 b。这种有序的, 公开的映射即为编码。 第二, 何谓加密。维基百科的解释是: 在密码学中,加密(英语:Encryption )是将明文信息改变为难以读取的密文内容,使之不可读的过程。只有拥有解密方法的对象,经由解密过程,才能将密文还原为正常可读的内容。 注意, 为什么有后面一句, 加密的基本三元素 明文-密钥-密文。密钥就是解密方法的对象。 用最经典的凯撒密码来说 >------------------------------------摘自维基百科------------------------------------------- >凯撒密码的替换方法是通过排列明文和密文字母表,密文字母表示通过将明文字母表向左或向右移动一个固定数目的位>置。例如,当偏移量是左移 3 的时候(解密时的密钥就是 3 ): > >明文字母表:ABCDEFGHIJKLMNOPQRSTUVWXYZ >密文字母表:DEFGHIJKLMNOPQRSTUVWXYZABC >---------------------------------------------------------------------------------------------- 注意,3 是密钥(解密过程的关键), 这是可以变的, 只有传递信息的双方知道, 这才是密钥。 我们可以理解为, 凯撒密码采用了字符映射的方式(编码)来实现了加密,但是密钥才是关键, 字符映射是实现的(基本)手段。 回到正题就是, **从最基本的加密概念来说, 可以采用只有加密解密双方共同知道的映射方式的字符映射来实现加密。但是你不能理解成字符映射等于加密。就跟你可以用牛肉来煎牛排,但是牛肉并不是牛排, 它也可能是土豆炖牛肉一个道理。** 这种民科似的随意扩大概念来彰显自己的方式并不可取。谁用 PY 思考问题一目了然 |
166
her999 2019-07-05 23:48:19 +08:00
如果 Base64 是加密算法的话,那么 ascii、gbk、big4、utf-8 等等是不是也算加密方法呢?
|
167
niubee1 2019-07-05 23:49:33 +08:00
@icy37785 而且看你之前的回复,你居然认为算法公开和 Base64 的编码方式公开是一个意思:
我真是服了你了。 加密算法的哪个算法不是公开的?没有密钥你有公开的算法有个毛用啊,你是真不懂啥是加密, 啥是加密算法啊。还古典密码学,上面的回复给你科普了“古典的”凯撒密码。 没有密钥?不知道 偏移量也够你实验半天的了。偏移量就是密钥, 还口称“古典密码学”, 笑死先人了 |
168
claysec 2019-07-05 23:52:55 +08:00
好了我们都用 PGP 交流吧(逃)
|
169
vincel 2019-07-05 23:55:14 +08:00 via iPhone
楼主贻笑大方了…谁给你说用 base64 发 wx 的目的是加密。你把这当贴吧了吧 给 v2er 这样的大部分受众是程序员的人群普及编码算法…
|
171
kawkeye 2019-07-06 00:16:59 +08:00 via Android
帖子描述的很有激情
我不喜欢被代表和戴帽子 我也不喜欢留联系方式 |
172
zrt 2019-07-06 00:23:56 +08:00 1
ROT13 算不算加密算法呢?
|
173
scnace 2019-07-06 00:26:58 +08:00 via Android
不然呢?
|
174
scnace 2019-07-06 00:30:31 +08:00 via Android
Go 的包名说明一切
encoding/json encoding/base64 crypto/md5 crypto/rsa |
176
umbrellakkk 2019-07-06 00:46:17 +08:00
是不是加密不是以你能不能轻易解密来定义的,就好像你做的题是不是考试题,不是由你会不会做来决定的,你会做的就是作业,不会做的就是考试,没这个概念。
|
177
stabc 2019-07-06 04:23:36 +08:00
谦虚点吧。
|
178
binux 2019-07-06 05:32:11 +08:00
base64 这个话题以前就争论过了 https://www.v2ex.com/t/513457#r_6549614
不过看起来这次支持 base64 在古典密码学范畴算加密的人数多一些了😁 |
179
yutou527 2019-07-06 08:52:09 +08:00 via Android
为什么是你个人认为🤣,base64 本来就是个编码方式啊。
帖子里 base64 一般都是处理下联系方式防 spider 的啊 |
180
darknoll 2019-07-06 09:00:10 +08:00
这不是常识吗,搞计算机的还专门来说这个,岂不是太掉价了
|
181
Youngxj 2019-07-06 09:02:35 +08:00
小白路过,很少用 base64
|
183
presoul 2019-07-06 10:12:45 +08:00 via Android
月经 如果是科普 请深层次的解读
这几句话无意义 只会让别人认为楼主的水平 |
184
cybernil 2019-07-06 10:22:53 +08:00
发帖要手机号验证了?
|
185
snoopy1024 2019-07-06 10:23:51 +08:00 via iPhone
@ochatokori 通透
|
187
uqf0663 2019-07-06 11:09:19 +08:00
@rpish 那难度就大多了,我 base64 的内容可以是“微信:xxx ” “ wechat:xxx ” “邮箱:xxx ” “ email:xxx ” 之类的,base64 出来的结果完全的不同,你要难以穷举我的所有内容。
|
188
hhhsuan 2019-07-06 11:52:09 +08:00 1
理解这个问题分三个阶段:
1. base64 可以用来加密 2. base64 根本不是加密 3. 加密本质就是一种编码,base64 也可以算是加密,只不过我们不用它来加密罢了 楼主现在走到了第 2 阶段。 |
189
Joshua999 2019-07-06 12:45:07 +08:00 via Android
那那些古典加密,二战时的恩格玛,现在来说都不难破解,它们还算加密算法吗?
编码和加密确实有点不好区分,应该要看它们的目的吧,编码是为了便于传输和存储,加密是为了不让别人轻易活的明文信息。用 base64 编码的目的显而易见。 |
190
miaomiao888 2019-07-06 13:25:12 +08:00
众人皆醉楼主独醒而事实上往往相反的样子
|
191
7r0y 2019-07-06 13:29:41 +08:00
如果是之前的学英语留 VX 号的帖子
个人认为,base64 确实不算是“加密” 使用 base64 之后能在一定程度对于心怀不轨的人,能在一定程度上防止搜索引擎对微信账号的明文搜索。 |
192
xfriday 2019-07-06 15:07:23 +08:00
加密是编码的一种,取决于密码本公不公开,base64 的密码本是公开的,所以就不是加密了
|
193
FrankHB 2019-07-06 16:09:40 +08:00
经。
cf. www.v2ex.com/t/513457 |
194
ji4ozhu 2019-07-07 02:14:30 +08:00
留 wx.qq.email 之类的 base64 是因为 不想被爬虫爬去发垃圾广告.
|
195
tankren 2019-07-07 08:48:18 +08:00 via Android
简单加密也算加密啊 门外汉也看不懂
|
196
1mi8delaowang 2019-07-07 10:05:52 +08:00
防搜索引擎而已 老哥
|
197
jinliming2 2019-07-07 11:51:43 +08:00 via iPhone
有人把 base64 和 凯撒密码 扯在一起,看起来差不多,但重要区别在于:
凯撒密码的“密码”,也就是字母偏移是保密的(不讨论暴力破解的问题),不知道偏移就无法解密。 而 base64 的码表是作为标准固定的(当然也有几种变体,但也是有固定标准的),也就是通过 base64 一定得到相同结果。 这就是 base64 与凯撒密码的区别,一个得到的结果是固定的,一个可以通过不同密码得到不同结果。所以一个只是编码,另一个才是加密方式。 如果你把 base64 的码表做了修改,那么的确,只有拿到你修改版本的码表才能知道原始内容了,这时就已经不符合 base64 标准了, [它就不是 base64 了] 。你就可以用不同的码表作为密码,把这种转换当成凯撒密码来用。 还有 MD5 的问题:编码存在解码的过程,加密也存在解密的过程,而 MD5 是不可逆的(不考虑暴力列表的方法,并且同样的 MD5 理论上也对应无数种原数据),所以它即不属于编码算法,也不属于加密算法,只能叫做摘要算法。 |
198
cyspy 2019-07-07 13:10:17 +08:00
base64 设计的目的是让二进制文件变成可打印字符,方便印出来的
|
199
leekafai 2019-07-07 15:32:51 +08:00 via Android
“今晚那个吗”
这句话算不算加密了? 不好说,对会话双方来讲,是明文,对其他人来讲,是密文。 那这句话加密了吗?我想是有的,只是加密的方式,不是你所理解的加密方式。 那 Base64 算加密手段吗? 对于不知道使用 Base64 的人来说,是非明文的,像是加密了似的。 但 Base64 确实只是一种编码方式,但不妨碍大家使用普通的编码方式降低明文的可读性。 所以,使用透明的编码方式能不能达到加密的效果呢?输出算不算是加密呢? 所以,今晚那个吗? |
200
wendellyih 2019-07-07 20:25:06 +08:00 via Android
楼主的理解是对的。
|