首页   注册   登录
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
拉勾
V2EX  ›  程序员

base64 怎么就不可逆了呢

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

    现在存储密码的“密文”大部分情况都不是加密,而是对原文加 salt 后 hash。
    早年的系统因为是加密 /明文存储密码,所以支持取回密码,现在的系统都不支持此功能,而是直接重置密码。
    关于   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   2146 人在线   最高记录 4385   ·  
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.3 · 23ms · UTC 03:33 · PVG 11:33 · LAX 20:33 · JFK 23:33
    ♥ Do have faith in what you're doing.
    沪ICP备16043287号-1