base64 怎么就不可逆了呢

2018-12-17 16:13:43 +08:00
 90d0n

??? 整的我一下没反应过来

https://i.loli.net/2018/12/17/5c1759cd29274.png

https://i.loli.net/2018/12/17/5c175aa5dea68.png

9211 次点击
所在节点    程序员
36 条回复
sniffles
2018-12-17 19:36:38 +08:00
哈哈哈哈哈哈
flighter
2018-12-17 19:37:38 +08:00
base64 是编码,不是加密,你这很明显 密码不是直接 base64 然后保存的,你 decode 拿不到原始密码的
idtaanlcoe
2018-12-17 19:39:46 +08:00
base64 是编码
Raymon111111
2018-12-17 19:43:42 +08:00
md5 可逆吗?
jason19659
2018-12-17 19:45:00 +08:00
23333333333333333333333333333
Shura
2018-12-17 19:45:50 +08:00
不可逆的叫散列(hash)
7654
2018-12-17 19:47:17 +08:00
可以开除了哈。。。
annoy1309
2018-12-17 19:50:31 +08:00
@Shura 散列只是不可逆的一种,不是不可逆就叫散列
moposx
2018-12-17 19:51:40 +08:00
虚张声势(狗头)
houzhishi
2018-12-17 19:57:38 +08:00
可能没学过密码学吧.....
zqguo
2018-12-17 20:18:01 +08:00
楼上有个,加密算法都是可逆的怕是个沙雕。 --V2EX 小程序
flyingghost
2018-12-18 12:19:42 +08:00
来来来,捋一下(我理解的,非常直白的)定义:target = f(source)
可逆:从 target 可以反推出 source。例如压缩软件、加密算法等。hash 算法不是可逆的,理论上一个 hash 对应无数个 source。
编码:用一种规则 f 把表达 A 替换成表达 B。例如翻译软件、GBK2UTF8、Base64 等。一般来说编码总是可逆的,唯一需要的知识只是规则 f 本身而已。
加密:target = f(source,secret),加入了 secret 并确保在不知道 secret 的前提下无法(或者代价超大)从 target 反推 source。
对称 /非对称:加解密用的 secret 是相同的,叫对称。不同,叫非对称。
编码 vs 加密:古代经典密码学语境下,由于编码规则的复杂和不可知(就像一个小学生根本不知道 base64 这一开放普及标准),经常把编码也称作加密。但在现代计算机语境下,大家都区分开这两种说法了。

以上都是直白表达。更抽象更准确的可以翻 wiki,都有定义。
讨论问题先厘清概念。概念认识有分歧的基础上还大放厥词骂人沙雕的,真是过于自信了。
yutou527
2018-12-18 12:46:46 +08:00
楼主明明在吐槽同事的代码
为什么大家都在给科普 base64 是加密还是编码呢 😂
90d0n
2018-12-18 13:20:16 +08:00
@yutou527 #33 我也很奇怪为什么大家的关注点在 "加密还是编码", 这明显不是这帖子的重点啊
Linxing
2018-12-18 13:59:27 +08:00
哈哈哈哈 笑一会
vuuv
2018-12-18 17:03:52 +08:00
@zqguo
如果加密算法不可逆,那么你加密了还能解密吗?如何保证原文和加解密过的内容是一致的?

现在存储密码的“密文”大部分情况都不是加密,而是对原文加 salt 后 hash。
早年的系统因为是加密 /明文存储密码,所以支持取回密码,现在的系统都不支持此功能,而是直接重置密码。

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

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

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

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

© 2021 V2EX