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

看来还是有公司喜欢把重要数据用 Base64 “加密”啊...

  •  2
     
  •   yuzo555 ·
    A-Circle-Zhang · 2018-12-02 01:06:59 +08:00 · 19661 次点击
    这是一个创建于 2182 天前的主题,其中的信息可能已经有所发展或是发生改变。

    125 条回复    2018-12-06 14:03:27 +08:00
    1  2  
    moposx
        1
    moposx  
       2018-12-02 01:09:33 +08:00 via Android   ❤️ 2
    哈哈哈,建议让他重新了解下 base64
    Antidictator
        2
    Antidictator  
       2018-12-02 01:11:09 +08:00 via iPhone   ❤️ 19
    人才,你说可以,让他给下架费用。
    jadec0der
        3
    jadec0der  
       2018-12-02 01:11:11 +08:00
    哈哈哈哈哈哈哈哈笑死我了

    lz 是 base64.us 的作者吗,很好用啊
    wjm2038
        4
    wjm2038  
       2018-12-02 01:13:19 +08:00 via Android
    想知道后续
    AltairT
        5
    AltairT  
       2018-12-02 01:16:14 +08:00
    看字里行间这是管理层吗?有这样管理层的公司咋赚钱的啊
    anonymous256
        6
    anonymous256  
       2018-12-02 01:18:35 +08:00 via Android
    (◔◡◔) 大新闻
    而且 b64 解码的网站一搜几十个都不止,就算楼主关了也不顶用啊
    crab
        7
    crab  
       2018-12-02 01:19:47 +08:00
    @anonymous256 估计是问信息怎么解码的,有人发了楼主网站,就以为。。
    WeaPoon
        8
    WeaPoon  
       2018-12-02 01:20:40 +08:00
    @anonymous256 #6 +1 几百个也有的

    好想想知道这是技术人员了还是非技术人员了...
    duan602728596
        9
    duan602728596  
       2018-12-02 01:21:35 +08:00 via iPhone
    逗比啊,想知道后续是啥情况
    toarufan
        10
    toarufan  
       2018-12-02 01:24:44 +08:00
    感觉可以敲一笔的样子(笑
    fanhaipeng0403
        11
    fanhaipeng0403  
       2018-12-02 01:47:15 +08:00   ❤️ 8
    确定不是自导自演的段子???
    dobelee
        12
    dobelee  
       2018-12-02 01:50:36 +08:00 via Android
    mark。关注后续。
    Zzdex
        13
    Zzdex  
       2018-12-02 01:53:16 +08:00 via iPhone
    哈哈哈哈 楼主确定不是来营销的吗
    huobazi
        14
    huobazi  
       2018-12-02 01:57:03 +08:00 via iPhone
    贡献了一过 ip
    EIlenZe
        15
    EIlenZe  
       2018-12-02 01:58:26 +08:00
    哈哈哈哈 那就改一下吧 免得 V 站很多人的微信号就暴露了。
    yuzo555
        16
    yuzo555  
    OP
       2018-12-02 01:58:33 +08:00
    @wjm2038 @duan602728596 @dobelee 对方是个妹子,而且看起来不像是技术人员,我没怎么好意思逗她啊.. 就跟他讲了 Base64 的通用性

    @Zzdex 这是我 15 年写的一个工具站,一直就挂着,你看我发的主题记录也能看到,当时就发过一次了,这次确实是突然被她逗到了 2333
    Raynard
        17
    Raynard  
       2018-12-02 01:59:48 +08:00
    。。。。有点逗比
    testsec
        18
    testsec  
       2018-12-02 02:48:35 +08:00 via iPhone
    秀儿是你吗
    shuangmu
        19
    shuangmu  
       2018-12-02 03:21:27 +08:00
    陈独秀......

    “ TX 你家 WX 和我公司产品同类型 麻烦你们下架吧,我都没有用户了....滑稽”

    哈哈哈哈或 这个梗
    zkeeper
        20
    zkeeper  
       2018-12-02 03:22:33 +08:00
    是我没看明白吗? 因为他们公司这么点人的事, 就能理直气壮的要求一个网站下线???

    是时候打电话给 BAT 了, 嗯
    zkeeper
        21
    zkeeper  
       2018-12-02 03:27:30 +08:00
    另外我还见到有人说用 md5 加密呢, 是我公司的某个开发人员. 当时直接内伤了.
    ryd994
        22
    ryd994  
       2018-12-02 05:59:46 +08:00 via Android   ❤️ 1
    脑子有坑,就算 base64 是加密,就算你关掉网站,难道这还不够说明这个算法已经被攻破了么?
    典型的不解决问题解决提出问题的人
    jugelizi
        23
    jugelizi  
       2018-12-02 07:24:53 +08:00
    受不了程序员在那说 md5 加密 真想给他个 base64 解给我看看
    rayhy
        24
    rayhy  
       2018-12-02 08:00:23 +08:00 via Android
    先不说 base64 的问题,因为自己的事情,直接让楼主下架可以公用的网站,这是怎样的精神。。
    damao2250
        25
    damao2250  
       2018-12-02 08:12:06 +08:00 via Android
    hhh
    Felldeadbird
        26
    Felldeadbird  
       2018-12-02 08:14:36 +08:00 via iPhone
    然后楼主不下架,遭受 dd ??
    xuanbg
        27
    xuanbg  
       2018-12-02 08:40:26 +08:00
    楼主做个 RSA.us ,然后安利给他用。工具不收费,密钥收费。哈哈哈
    liangguan5
        28
    liangguan5  
       2018-12-02 08:54:10 +08:00 via Android   ❤️ 1
    羡慕有 2 个微信的人
    F1024
        29
    F1024  
       2018-12-02 10:01:31 +08:00
    人才啊。。。。。
    yingfengi
        30
    yingfengi  
       2018-12-02 10:07:06 +08:00 via Android   ❤️ 4
    你们理解能力有问题吗
    联系楼主的人根本不知道这东西是公开的算法,以为是楼主自己弄的加密方式
    Ansonyi
        31
    Ansonyi  
       2018-12-02 10:10:16 +08:00 via iPhone
    哈哈哈哈哈哈😂😂😂,没憋住,笑出声来
    miniDG
        32
    miniDG  
       2018-12-02 10:13:13 +08:00
    base64 是编码解码,不是加密解密😂
    deepdark
        33
    deepdark  
       2018-12-02 11:08:16 +08:00 via Android   ❤️ 1
    图中的人看起来不像搞技术的,然后搞技术的居然用 base64 来"加密"数据。我感觉这个公司都挺搞笑的
    chanchan
        34
    chanchan  
       2018-12-02 11:24:55 +08:00
    @zkeeper
    @jugelizi md5 不是用来加密的吗,小白认真问
    rudyyuan
        35
    rudyyuan  
       2018-12-02 11:30:33 +08:00
    学到了一种新的推广方法
    lihongjie0209
        36
    lihongjie0209  
       2018-12-02 11:33:51 +08:00
    @chanchan 加密算法都是和解密算法配套的, 你的信息加密之后必须能解密出来被其他人使用. MD5 属于 Hash 算法, 是计算信息指纹的, 比如说文件的 MD5 可以确保文件被篡改时被发现, 因为指纹变了. 其次, MD5 无法解密, 这个你需要了解 Hash 算法.
    rebeccaMyKid
        37
    rebeccaMyKid  
       2018-12-02 11:54:20 +08:00
    看懂了,公司有些数据用 base64 加密,结果有员工用了在线网站解密,因此该公司某人让楼主关闭自己的网站。。。
    乖乖,就算最简单的加密算法,也得加个 salt 吧。。
    leavic
        38
    leavic  
       2018-12-02 11:57:21 +08:00
    200 万,比特币支付,否则就把你们公司解密过的数据公开!
    bwangel
        39
    bwangel  
       2018-12-02 12:08:18 +08:00   ❤️ 6
    @chanchan

    密码学中算法大致分为三类:

    1. 对称加密算法,使用一个秘钥,可以进行加密解密
    2. 非对称加密算法,使用两个秘钥(公钥 /私钥)。私钥加密的内容公钥可以解密,当然反过来也可以。通常非对称加密算法的计算速度比对称加密算法的速度要慢。
    3. 哈希算法,没有秘钥,可以对明文计算出唯一对应的哈希密文,且计算过程不可逆,(即无法通过哈希密文反推得到明文),主要用来验证明文的完整性。

    base64 严格来说并不是一种加密算法,它只是一种编码方式,就像汉字存储到计算机中首先需要通过 utf-8 的编码方式将其转换成二进制。base64 也是一种为了方便表示二进制数据,将二进制数据转换成可打印的符号([a-zA-z0-9+/=])的编码方式。

    如果需要在本地对数据加密,建议使用对称加密算法对数据进行加密。

    参考数据:[深入浅出密码学]( https://book.douban.com/subject/19986936/)

    我也不是专业的安全人员,上面只是我对加解密算法的一些粗浅理解,有误的地方还请指正。
    bwangel
        40
    bwangel  
       2018-12-02 12:10:22 +08:00
    #39 打错字了, 参考数据 -> 参考书籍
    binux
        41
    binux  
       2018-12-02 12:15:59 +08:00
    @bwangel #39 严格来说 base64 是加密算法,根据维基百科:‘在密码学中,加密(英语:Encryption )是将明文信息改变为难以读取的密文内容,使之不可读的过程。’。
    base64 编码后,信息确实不可读了啊。只不过它解密需要的信息仅仅是知道 base64 算法罢了。
    lxerxa
        42
    lxerxa  
       2018-12-02 12:19:52 +08:00 via iPhone
    自导自演
    bwangel
        43
    bwangel  
       2018-12-02 12:25:32 +08:00   ❤️ 1
    @binux

    #41 感觉英文维基百科的定义更恰当一些

    In cryptography, encryption is the process of encoding a message or information in such a way that only authorized parties can access it and those who are not authorized cannot.
    binux
        44
    binux  
       2018-12-02 12:30:13 +08:00
    @bwangel #43 你这是一个成功的 encryption,不成功的加密就不是加密了。
    比如说难道密钥被偷了的加密就不是加密了吗?那不知道密钥有没有被偷的加密就是可能加密可能不加密了?
    bwangel
        45
    bwangel  
       2018-12-02 12:38:16 +08:00
    #44 我觉得我们的交流已经偏离主题了,所以决定终止此次交流。
    shuax
        46
    shuax  
       2018-12-02 13:22:46 +08:00   ❤️ 1
    @binux 对于外国人来说,中文也是一种加密了?因为难以读取。
    disk
        47
    disk  
       2018-12-02 13:48:07 +08:00
    @binux #44 你没看懂,和成不成功没关系。中文维基是有问题的,它给出的是“古典”的解释。现代密码学则要求加密不依赖于算法的保密性。
    shijingshijing
        48
    shijingshijing  
       2018-12-02 14:06:57 +08:00
    @shuax 没毛病啊,吴宇森拍的《风语者》就是讲的用语言本身加密啊,而且还是军事用途。。。
    ranleng
        49
    ranleng  
       2018-12-02 14:11:44 +08:00 via Android
    @binux bs64 这个只能算是 encode 吧。
    paulwan
        50
    paulwan  
       2018-12-02 14:18:04 +08:00 via iPhone
    大胆猜测一下:以前做游戏时有些资源会用 base64 做编码,不知对方是否在头疼自己的资源文件被解码还原。理论上会用到 base64 的不会不知道只是一个编码过程。很大概率出发点是管理人员想保护自己的知识产权吧。
    wulagui
        51
    wulagui  
       2018-12-02 14:18:19 +08:00
    镇民尿路不都是:只要把提问题的人解决掉就行
    xzc19970719
        52
    xzc19970719  
       2018-12-02 14:26:58 +08:00 via Android
    该换高防了🤣
    sodora
        53
    sodora  
       2018-12-02 14:28:51 +08:00 via Android
    总结一下对方的逻辑:
    你的网站碍着我公司了,麻烦下线一下。
    你的网站碍着我拉屎了,麻烦下线一下。
    你的网站碍着地球转了,麻烦下线一下。
    binux
        54
    binux  
       2018-12-02 15:16:14 +08:00 via Android
    @shuax 是的啊,二战美国用印第安人的语言加密,难道算了吗?
    junjieyuanxiling
        55
    junjieyuanxiling  
       2018-12-02 15:44:53 +08:00 via Android
    @binux
    @bwangel
    维基百科可绝对不是可靠来源。当然,中文维基百科更不是。中文维基百科的活跃编者才千余人(英文维基管理员都八百多了),很多条目缺少维护,年久失修了。
    stormhouse
        56
    stormhouse  
       2018-12-02 16:02:35 +08:00
    @bwangel 认同您的观点。Base64 明明编码方式(用可打印字符来表示二进制数据)
    @binux Base64 并没有信息安全中的机密性,千万不要往加密解密上啊
    salamanderMH
        57
    salamanderMH  
       2018-12-02 16:04:00 +08:00
    人才呀。。。
    不过,这可能是个段子
    wolfie
        58
    wolfie  
       2018-12-02 17:43:17 +08:00
    那么些个 base64 转码网站,这人是打算一个个联系吗😂😂
    zxcvsh
        59
    zxcvsh  
       2018-12-02 17:45:15 +08:00 via iPhone
    ...如果是 python,他估计要求作者改内置库了
    maristie
        60
    maristie  
       2018-12-02 18:04:16 +08:00
    建议打回本科重修一遍密码学
    Shura
        61
    Shura  
       2018-12-02 18:31:18 +08:00
    @bwangel 严格来说,如果 base64 的编码算法保密(或者说对你来说是保密的)就是古典加密算法。
    0o0o0
        62
    0o0o0  
       2018-12-02 18:41:00 +08:00 via Android
    真的不是段子吗,hmmm
    binux
        63
    binux  
       2018-12-02 18:47:42 +08:00
    @disk 严格来说 base64 还真满足了“加密不依赖于算法的保密性”,首先你可以改变 base 的映射符号表,这个映射表就是密钥。
    即使你争辩说这样就不是 base64 了,那么在 base64 中,有 base64url 和 Program identifier Base64 variant 1 这么两个变种,他们 62 和 63 的映射是相反的,那么这两个变种的选择就是密钥了。你不能说用小质数的 rsa 就不是加密了吧。
    Telegram
        64
    Telegram  
       2018-12-02 18:51:26 +08:00
    @WeaPoon #8 肯定是不懂技术的啊,以为 LZ 写了他们公司专用的破解工具。
    fhefh
        65
    fhefh  
       2018-12-02 18:54:26 +08:00
    我也去写一个 base64 解码的工具 放在我的网站上~

    把妹子介绍我 😁
    FrankHB
        66
    FrankHB  
       2018-12-02 19:02:28 +08:00
    @disk 关键并不是 Kerckhoffs 原则; encryption 的确可以独立于 cryptosystem 存在。
    @shuax @shijingshijing @binux 因为这假定不同授权方解码的开销不一样。Base64 ……是个人都一样人肉解不出来,根本没法指望只对特定授权方有效。只有把人的解码能力考虑进去才有的系统才算的加密手段,放在别的没法控制访问者的环境里自然就不算。
    中文维基的问题跟英文一对照就很明显了。本来也没所谓成功的 encryption,充其量就是成功 confusion 而已…… cipher 一开始就已经被公开了还能怎么失败?要把选择算法的方式作为 cipher 的一部分来保密,那加密算法就不只是 Base64 了(显然这里不是)。
    bwangel
        67
    bwangel  
       2018-12-02 19:19:44 +08:00   ❤️ 2
    看到楼上为了 base64 是不是加密算法争论不休,我还是贴出两个地址吧。

    https://golang.org/pkg/encoding/base64/
    https://golang.org/pkg/crypto/rsa/

    这是 golang 包的定义,base64 库放在 encoding 包里面而不是 crypto 包里面,这个表达的够清晰了吧。

    要是还要质疑说 三巨头( Robert Griesemer, Rob Pike, Ken Thompson )的理解是错的,那我只能默默地 block 掉,并在心里默默地骂一句:**
    realpg
        68
    realpg  
       2018-12-02 19:27:13 +08:00
    @shuax #46
    明文和密文不存在一一对应关系
    mydns
        69
    mydns  
       2018-12-02 20:10:08 +08:00
    让人下架这人心该有多大啊
    ltux
        70
    ltux  
       2018-12-02 20:18:15 +08:00
    “最好用的 Base64 在线工具”,违反广告法。
    FrankHB
        71
    FrankHB  
       2018-12-02 20:35:18 +08:00   ❤️ 1
    @bwangel 就这个问题我对 golang 包的做法没意见,也不质疑其中的理解,不过客观点,还是得指出你的逻辑有些比较智硬之处。
    你所谓的三巨头并不是 Ron Rivest、Adi Shamir 和 Leonard Adleman,在这个问题上的观点有什么显著性,一定比一般码农内行(好吧,即便就是 RSA 这三位在这个问题上也没多大作用,因为基本上不管哪个来源查证到的共识都是他们之前就有定论的)?顺带,不多落井下石(其他两位只是偶有需要擦屁股),Rob Pike 在不懂行的地方扯蛋可是被抓过现行的: http://lambda-the-ultimate.org/node/4554
    wzhndd2
        72
    wzhndd2  
       2018-12-02 20:46:46 +08:00
    你就是那个做视频解析的张一环?
    jasonyang9
        73
    jasonyang9  
       2018-12-02 20:55:28 +08:00   ❤️ 1
    这个推广 99 分
    bwangel
        74
    bwangel  
       2018-12-02 22:12:49 +08:00 via Android   ❤️ 1
    @FrankHB 哈哈,我就喜欢你这种带链接的回复,起码说明回复前查了 Google,不是噼里啪啦一顿乱杠。

    我承认上一个回复确实不太有逻辑,因为看到之前 binux 言论有些生气,密码学艰深复杂,普通程序员能正确使用都有些困难( 参见 https://mp.weixin.qq.com/s/9Q40o8R2DchASoEhyfAHxw ) ,他却来这里乱杠,把当做编解码使用的 base64 硬要说成加密算法。这不是误导人么。

    我之前看到有 Go 相关文章把他们三个说成三巨头,所以这里直接就写三巨头了,不太严谨。我确实对大牛有些盲目崇拜,隔行如隔山,大牛不一定在每个领域都精通。

    所以,老哥,回到正题。

    我认为在现在 2018 年,在现代密码学的体系中,base64 不是加密算法。

    我这个结论在这种附加条件下应该是正确的吧,程序员在做加解密相关的工作的时候吧,无论如何都不该使用 base64 当做加密算法。

    当然我对密码学的认识也很浅显,欢迎指教。
    Vegetable
        75
    Vegetable  
       2018-12-02 22:56:13 +08:00
    如果 base64 算加密算法,那 utf8 算吗?
    fumichael
        76
    fumichael  
       2018-12-02 22:59:22 +08:00   ❤️ 1
    你就说,感谢你使用了我的加密算法呀,但是你好像还没买授权喔。
    opengps
        77
    opengps  
       2018-12-02 23:01:13 +08:00 via Android
    我学长大越没法理解,这类人怎么做到理直气壮的
    geying
        78
    geying  
       2018-12-03 00:25:19 +08:00 via iPhone
    笑死了,不过我们之前客户说别直接把明文存数据库就行了,那行吧……
    wmhx
        79
    wmhx  
       2018-12-03 01:39:50 +08:00
    卖给他好了,
    azuis
        80
    azuis  
       2018-12-03 01:52:07 +08:00   ❤️ 1
    @bwangel 我觉得问题是这样的。base64 其实和 Caesar cipher 原理一样,都是一种 Substitution cipher。比如你自己定义一种对应关系也可以称作一种加密方式。至少二战结束前这些变体方式都是在广泛使用。 我认为这也算 “加密” 的一种。 但是如果说现在应不应该使用, 和曾经的明星加密算法 DES 一样,已经落后于时代,不应该使用。 但是在历史上来说这也属于加密历史中的一部分。

    至于包名来说。 毕竟它本身就是为了编码而开发的。 虽然广义上可以归类为替换式密码的一种,但是还是让它做它该做的工作吧。
    binux
        81
    binux  
       2018-12-03 03:38:59 +08:00 via Android   ❤️ 1
    @bwangel 你这就属于思维僵化了,楼上讲的很清楚了,除非你否认凯撒置换不是加密算法,base64 和它没任何区别,或许安全性还更高点。它是不是加密算法,和该不该用 base64 加密没有任何关系。我从来没有推荐这么干。
    limbo0
        82
    limbo0  
       2018-12-03 04:27:11 +08:00 via Android
    @bwangel base64,不就是你说的对称加密吗,只不过是被好多人知道的方法罢了
    RqPS6rhmP3Nyn3Tm
        83
    RqPS6rhmP3Nyn3Tm  
       2018-12-03 04:51:06 +08:00 via iPhone
    古典密码学也是密码学啊
    把 base64 换成凯撒加密是不是就觉得不别扭了
    annielong
        84
    annielong  
       2018-12-03 09:19:01 +08:00
    个人认为,base64 本质是编码,但是也干了加密的活,不必纠结于这个的分类,而且如果自定义 base64 的话,一般人也无法还原不是,
    someonedeng
        85
    someonedeng  
       2018-12-03 12:40:36 +08:00 via Android
    承包了我的 12 月笑点
    disk
        86
    disk  
       2018-12-03 13:48:28 +08:00
    @BXIA 如果 base64 发明时间早,说不定也成了古典密码,可它被设计成现在这个用途,被标准定义为编码,也就这样了。生活中把 base64 称为加密问题不大,不必纠结于叫法。
    no1xsyzy
        87
    no1xsyzy  
       2018-12-03 14:42:36 +08:00   ❤️ 1
    @bwangel 现代密码学核心不是密钥算法分离,而是中间人无法获得任何信息(我不记得术语了)。就是说单通过监听内容无法知道关于这段内容的任何信息,目前主要包括“其中是否含有信息”、“加密的方式是什么”、“明文中 1 多还是 0 多”、“明文中是否有 1 ”。
    更强的包括“这段信息是否被加密了”( obfs 伪装成特定连接)、“明文长度多少”(可以 pad,但范围有限)。
    再强的就像是歧义性解读(采用不同的密钥能够解密出不同的可用的信息,几乎不可能在目前的体系下完成,文艺作品中会出现,比如 《魔禁》 和 《 B: the beginning 》)。

    密钥算法分离算是自由软件运动的一部分?至少主张和开源那派基本一致:同行审计。这不是密码学或者说学术的一环,而是错误与风险控制的一环。
    no1xsyzy
        88
    no1xsyzy  
       2018-12-03 14:52:43 +08:00
    @no1xsyzy 以这一标准来看,base64 弱得根本不能算加密,因为你在知道 base64 是什么的情况下可以很容易判断它是不是 base64。欧洲语言还更强一点,就算了解了所有这些语言,看到一堆拉丁字母还是摸不着头脑。每次谷歌翻译想看看是什么语言都是混乱的,一段文字 ABC,A/B/C/AB/BC/ABC 可以是六个不同的语言。——这算不算歧义性解读呢(狗头)
    flyobj
        89
    flyobj  
       2018-12-03 15:00:44 +08:00
    把 base64 的字符表顺序打乱了 那它就是相对安全的加密算法了! 用惯默认字符表,都忘记了 其实那 64 个 string 就是 base64 的密钥!
    FrankHB
        90
    FrankHB  
       2018-12-03 15:04:27 +08:00   ❤️ 1
    @bwangel 老实说这个链接我还真没 Google,也没扔书签里,而是从
    https://github.com/FrankHB/pl-docs/blob/master/zh-CN/typing-vs-typechecking.md#类型--分类
    这个最近老是出现在浏览器地址栏的半成品坑里里挖出来的(但是为了避免王婆嫌疑还是放其它参考了)。另外,LtU 的那个链接实际上指向的评论是
    http://lambda-the-ultimate.org/node/4554#comment-71474
    对 PL 不太了解的非预期读者可能不太好找所以这里补正。

    不过我承认,Rob Pike 和 Ken Thompson 以外的几位的名字我拼写起来确实不大熟练……(

    对正题的观点和你的意见基本一致。

    补充 @binux 钻牛角尖观点的对应:

    0.从历史的角度来看,我基本同意上面 @azuis 的分析,不过既然是历史角度,也得考虑 Base64 是干什么用的了—— Base64 本来也不是为了作为 cipher 而被发明的。为了说明密码学理论研究方法的普适性,把 Base64 这样的编码当作 trivial 情形下考虑是能说得通的,但在分析个案时没有意义。
    1.基于 Base64 的原始用途,就公认的 Base64 自身来讲,几乎所有有效的用例都没被作为 encyrption,在这个案例中看来也不是。要能起到 encryption 的预期作用,需要 Base64 以外的假设,所以把 Base64 排除出 encryption 是合理的,强行推广到平凡情形才不自然。
    2.Base64 也不是当代 cryptosystem 意义下的 encryption。即便用类似经典密码的方式提供 key generation,密钥空间也成问题。提供 2 variants,顺带给了 1-bit key 咯?攻击成本是 O(1)诶,就算能作为密码学研究的对象,能提供多少 encryption 的预期性质?稍微不那么 trivial 是你自己发明其它 variant ——但这样不和通行版本兼容的编码,还好意思叫 Base64 ?
    3.@disk 能把 Base64 叫成“加密”的,八成是根本不清楚 Base64 是啥玩意儿,根本不会有上面的分析的认知。能直接把 Base64 当加密算法扔在“加密系统”里的真·勇士,也就是笑话了。但是,因为外行叫法的偏差而使用户到开发者普遍对冒牌的“加密”有什么奇怪的预期,这就不那么好笑了。说到底,本贴 LZ 会遇到这个问题,主要原因就是这样。特别地,我不觉得把“加密”换成“编码”的说法会费什么事,所以我不理解有什么意义继续放任以讹传讹。
    tourist2018
        91
    tourist2018  
       2018-12-03 15:25:52 +08:00
    不讨论加密的问题,这个妹子的要求让人有点搞不懂,这啥意思?
    internelp
        92
    internelp  
       2018-12-03 15:27:03 +08:00
    这个不是广告吗。。。
    NotNil1
        93
    NotNil1  
       2018-12-03 15:30:22 +08:00
    楼主快点写 TimeStamp 这个页签 ,想用
    Hardrain
        94
    Hardrain  
       2018-12-03 15:31:37 +08:00
    @binux 对现代密码学而言,要保密的是密钥,不是加密算法。
    仅这一点就可以说 base64 不是加密算法。
    doracoinC
        95
    doracoinC  
       2018-12-03 15:37:18 +08:00
    想看后续
    binux
        96
    binux  
       2018-12-03 15:48:13 +08:00 via Android
    @FrankHB 1. 我当然知道 base64 本来的设计用途,我只是给了另一个,有意思的思考角度。而且设计用途不是非此即彼的,就像二战时美军使用印第安人的语言传输秘密信息。那这时的语言就只能是语言,不能是 encryption 了吗?
    2. 就我对英文维基条目的阅读理解,符号表并不是 base64 定义成立的一部分。而且即使只替换 62,63 的两个变种,使得强度很弱,那难道弱密钥的加密就不是加密了吗?使用 3 和 5 的小质数 RSA 就不是加密算法了?
    3. 我不断强调了 base64 有多弱,它只是符合定义罢了,我不觉得有人看了我的评论会产生什么奇怪的期待。
    Sapp
        97
    Sapp  
       2018-12-03 15:53:37 +08:00
    @rayhy 这应该是会给钱的,只要你找他要,他肯定会给你一些,估计是个小白
    binux
        98
    binux  
       2018-12-03 16:01:03 +08:00
    @Hardrain #94 上面喜欢用 Go 的例子,那么还是 Go 的例子,base64 是需要制定 Encoding 的, which is a 64-byte string,你是可以打乱编码的字符顺序的,这就是你的密钥。
    https://golang.org/pkg/encoding/base64/#NewEncoding
    Phariel
        99
    Phariel  
       2018-12-03 16:05:14 +08:00 via iPhone
    羡慕有两个微信号的人 自己跟自己玩的不亦乐乎
    (*≧▽≦)
    fannuoer
        100
    fannuoer  
       2018-12-03 16:15:14 +08:00
    笑死了,哈哈哈哈哈
    1  2  
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5358 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 35ms · UTC 03:36 · PVG 11:36 · LAX 19:36 · JFK 22:36
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.