V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
• 请不要在回答技术问题时复制粘贴 AI 生成的内容
90d0n
V2EX  ›  程序员

base64 怎么就不可逆了呢

  •  
  •   90d0n · 2018-12-17 16:13:43 +08:00 · 9445 次点击
    这是一个创建于 2202 天前的主题,其中的信息可能已经有所发展或是发生改变。
    36 条回复    2018-12-18 17:03:52 +08:00
    www5070504
        1
    www5070504  
       2018-12-17 16:15:54 +08:00
    不知道啊 修改过的 base64 ? 加盐? hash 了?
    mingzhi
        2
    mingzhi  
       2018-12-17 16:16:55 +08:00
    x86
        3
    x86  
       2018-12-17 16:18:02 +08:00
    备注瞎写的呗,还原下是 kefu9
    hackyuan
        4
    hackyuan  
       2018-12-17 16:18:53 +08:00 via Android   ❤️ 2
    base64 应该是编码,解码…
    Daming
        5
    Daming  
       2018-12-17 16:21:36 +08:00
    Base64 不是加密,是编码
    alvin666
        6
    alvin666  
       2018-12-17 16:25:16 +08:00 via Android
    我也见过一个网站的管理后台,没做防注入,脱裤以后发现密码居然也是 base64 保存的,直接能进后台
    boris1993
        7
    boris1993  
       2018-12-17 16:31:32 +08:00 via Android
    唬人的呗
    没准顺便给自己留个后门
    shawndev
        8
    shawndev  
       2018-12-17 16:32:33 +08:00
    base64 是一种编码方式而非加密方式,可以参考阮一峰的这篇文章: http://www.ruanyifeng.com/blog/2008/06/base64.html
    如果要实现注释所说的效果,只需要把码表的对应关系修改为和常规 base64 不同即可。不过从业四年有余我还没见过这么睿智的操作。。。
    90d0n
        9
    90d0n  
    OP
       2018-12-17 16:37:32 +08:00
    lihongjie0209
        10
    lihongjie0209  
       2018-12-17 16:44:39 +08:00
    加密不可逆那叫加密???? 怕是对加密算法有什么误解吧
    nfroot
        11
    nfroot  
       2018-12-17 16:45:35 +08:00
    @shawndev 一般不会去改标准算法。以前“网.页.代.理”很流行的时候,就看到这个方式了。
    zjsxwc
        12
    zjsxwc  
       2018-12-17 16:48:23 +08:00
    我还以为是先 sha 散列截取部分后再 base64。。
    KomeijiSatori
        13
    KomeijiSatori  
       2018-12-17 17:26:18 +08:00
    哈哈哈哈哈
    beny2mor
        14
    beny2mor  
       2018-12-17 17:51:05 +08:00
    取前 16 位。。
    shawndev
        15
    shawndev  
       2018-12-17 17:55:16 +08:00
    @nfroot base64 不同平台实现不同的坑遇到很多次了,空格和加号
    wxl1380610
        16
    wxl1380610  
       2018-12-17 17:56:08 +08:00
    base64 存密码 ? 至少加个盐吧
    MartinWu
        17
    MartinWu  
       2018-12-17 18:07:30 +08:00
    @lihongjie0209 你是不是应该了解下对称加密跟非对称加密。
    newtype0092
        18
    newtype0092  
       2018-12-17 18:23:04 +08:00
    @MartinWu 对称和非对称加密都是可逆的,有什么问题么?
    lihongjie0209
        19
    lihongjie0209  
       2018-12-17 18:58:53 +08:00
    @MartinWu 对称与非对称只是密钥不同, 和是或否可逆有什么关系
    zjp
        20
    zjp  
       2018-12-17 19:19:50 +08:00
    又黑我 Java...
    sniffles
        21
    sniffles  
       2018-12-17 19:36:38 +08:00
    哈哈哈哈哈哈
    flighter
        22
    flighter  
       2018-12-17 19:37:38 +08:00
    base64 是编码,不是加密,你这很明显 密码不是直接 base64 然后保存的,你 decode 拿不到原始密码的
    idtaanlcoe
        23
    idtaanlcoe  
       2018-12-17 19:39:46 +08:00 via Android
    base64 是编码
    Raymon111111
        24
    Raymon111111  
       2018-12-17 19:43:42 +08:00
    md5 可逆吗?
    jason19659
        25
    jason19659  
       2018-12-17 19:45:00 +08:00
    23333333333333333333333333333
    Shura
        26
    Shura  
       2018-12-17 19:45:50 +08:00
    不可逆的叫散列(hash)
    7654
        27
    7654  
       2018-12-17 19:47:17 +08:00
    可以开除了哈。。。
    annoy1309
        28
    annoy1309  
       2018-12-17 19:50:31 +08:00
    @Shura 散列只是不可逆的一种,不是不可逆就叫散列
    moposx
        29
    moposx  
       2018-12-17 19:51:40 +08:00 via Android
    虚张声势(狗头)
    houzhishi
        30
    houzhishi  
       2018-12-17 19:57:38 +08:00
    可能没学过密码学吧.....
    zqguo
        31
    zqguo  
       2018-12-17 20:18:01 +08:00
    楼上有个,加密算法都是可逆的怕是个沙雕。 --V2EX 小程序
    flyingghost
        32
    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
        33
    yutou527  
       2018-12-18 12:46:46 +08:00
    楼主明明在吐槽同事的代码
    为什么大家都在给科普 base64 是加密还是编码呢 😂
    90d0n
        34
    90d0n  
    OP
       2018-12-18 13:20:16 +08:00
    @yutou527 #33 我也很奇怪为什么大家的关注点在 "加密还是编码", 这明显不是这帖子的重点啊
    Linxing
        35
    Linxing  
       2018-12-18 13:59:27 +08:00
    哈哈哈哈 笑一会
    vuuv
        36
    vuuv  
       2018-12-18 17:03:52 +08:00 via Android
    @zqguo
    如果加密算法不可逆,那么你加密了还能解密吗?如何保证原文和加解密过的内容是一致的?

    现在存储密码的“密文”大部分情况都不是加密,而是对原文加 salt 后 hash。
    早年的系统因为是加密 /明文存储密码,所以支持取回密码,现在的系统都不支持此功能,而是直接重置密码。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2782 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 27ms · UTC 13:45 · PVG 21:45 · LAX 05:45 · JFK 08:45
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.