• 请不要在回答技术问题时复制粘贴 AI 生成的内容
BrbiwsFtd9zDGZqB
V2EX  ›  程序员

base64 怎么就不可逆了呢

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

    现在存储密码的“密文”大部分情况都不是加密,而是对原文加 salt 后 hash。
    早年的系统因为是加密 /明文存储密码,所以支持取回密码,现在的系统都不支持此功能,而是直接重置密码。
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   5596 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 127ms · UTC 08:22 · PVG 16:22 · LAX 01:22 · JFK 04:22
    ♥ Do have faith in what you're doing.