base64 怎么就不可逆了呢 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
请不要在回答技术问题时复制粘贴 AI 生成的内容
BrbiwsFtd9zDGZqB
V2EX    程序员

base64 怎么就不可逆了呢

  •  
  •   BrbiwsFtd9zDGZqB 2018-12-17 16:13:43 +08:00 9819 次点击
    这是一个创建于 2490 天前的主题,其中的信息可能已经有所发展或是发生改变。
    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 不同即可。不过从业四年有余我还没见过这么睿智的操作。。。
    BrbiwsFtd9zDGZqB
        9
    BrbiwsFtd9zDGZqB  
    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
    虚张声势(狗头)
    3C3Ju2wXX3tpBWEL
        30
    3C3Ju2wXX3tpBWEL  
       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 是加密还是编码呢
    BrbiwsFtd9zDGZqB
        34
    BrbiwsFtd9zDGZqB  
    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     Solana     923 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 26ms UTC 19:15 PVG 03:15 LAX 12:15 JFK 15:15
    Do have faith in what you're doing.
    ubao snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86