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

个人认为 base64 仅是一种编码方式,不算是加密算法

  •  
  •   hoyixi · 2019-07-05 14:00:26 +08:00 · 23433 次点击
    这是一个创建于 2005 天前的主题,其中的信息可能已经有所发展或是发生改变。
    看到 V 站上不少在加密相关的回帖里,以为用 base64 编个码,就算加密了.

    是个人顺手就解码了(当然,超级计算机小白,连 base64 编码特征也看不出来或者压根不知道这回事,倒是不知道解码),这算哪门子加密?

    base64 编码本身出现的意义是把二进制数据编码为文本,方便网络传输~

    不少人 base64 编码 email 或者 WX 等联系方式,那是骗爬虫的,爬虫是根据文本特征提取文本的,base64 只不过隐藏了 email 地址等的文本结构特征。 然而照样可以抓 base64 编码,然后解码判断提取。


    所以,base64 不是万能的,别为了 base64 而 base64,也别以为 base64 包打天下。
    第 1 条附言  ·  2019-07-05 14:47:33 +08:00
    或者题目改成:“不要用 base64 加密你的密码”,各位牛人就不会咬文嚼字加密算法和摘要算法了。

    也不对,那“加密”二字似乎也不学术呢,咋整呢,呵呵
    201 条回复    2019-07-08 01:40:08 +08:00
    1  2  3  
    uptime
        101
    uptime  
       2019-07-05 16:04:57 +08:00   ❤️ 2
    关于加密,说个故事:

    二战时,美军往来电报电文,屡次被日军破解密码,情报存在外泄的危险,后来没有办法,美军找到美国当地的印第安人土著,其中的纳瓦霍人使用的纳瓦霍语由于构成相当复杂,于是这套语言在太平洋战争中直接被美军作为密码,在无线电中使用,以增加日本军破解美方密码的困难度。到战争结束后,这套系统都没有被日本破解。经过简单训练,纳瓦霍人直接作为发报员和接报员派驻进部队,真正的人肉密文发报机。
    有兴趣的可以看看根据这事拍成的电影《风语者》

    同理,Base64,你可以看成摩斯电码。直至今天,摩斯电码仍然广泛使用。
    ysc3839
        102
    ysc3839  
       2019-07-05 16:06:09 +08:00 via Android   ❤️ 2
    这问题本质是不同人对“加密”的定义不同。你要做的应该是说服别人接受你对“加密”的定义,在对方不愿接受你的定义的情况下没必要继续讨论下去了。
    expect00
        103
    expect00  
       2019-07-05 16:09:14 +08:00
    base64 编码都不算吧,只能算转码 /escaping 方式
    unclemcz
        104
    unclemcz  
       2019-07-05 16:09:51 +08:00
    @joyhub2140 请教一下,自定义码表的 base64 解密,不知你有无研究?我最近碰到自定义码表的情况,只有编码后的 base64 字符串(有大量字符串),没有对应的编码前原始字符串,这种情况不知有无办法算出码表?是否有暴破的可行性?
    Creabine
        105
    Creabine  
       2019-07-05 16:11:43 +08:00   ❤️ 15
    自己立个靶子自己打可还行

    这是什么高深知识吗还专门解释一哈,这论坛里真搞不清楚的恐怕没几个吧

    欣赏楼主的认真

    但还是有种一本正经的 “老婆饼里面其实没有老婆哦,大家不要搞错了” 的感觉 hhhh
    8a9a09dw12
        106
    8a9a09dw12  
       2019-07-05 16:13:48 +08:00   ❤️ 2
    把"个人认为"给老子去了
    nekoneko
        107
    nekoneko  
       2019-07-05 16:14:08 +08:00
    @ysc3839 #102 几乎是件不可能的事情。按照密码学的定义,base64 就是加密,可是,who care,管你密码学不密码学,人家就认为能被破解的就不算加密,怎么说服呢。
    ysc3839
        108
    ysc3839  
       2019-07-05 16:16:17 +08:00 via Android   ❤️ 1
    @nekoneko 所以我认为没必要继续讨论下去了。
    killerv
        109
    killerv  
       2019-07-05 16:20:16 +08:00   ❤️ 1
    人家不是为了加密,就是为了编码不被搜索引擎抓取
    fzzff
        110
    fzzff  
       2019-07-05 16:21:39 +08:00   ❤️ 1
    哈哈,题主在用行动解释什么叫哗众取宠
    WebKit
        111
    WebKit  
       2019-07-05 16:23:09 +08:00 via Android
    @misaka19000 base64 换个码表不就好了。。
    MozzieW
        112
    MozzieW  
       2019-07-05 16:30:02 +08:00   ❤️ 1
    这就是网络论坛留言太方便而引起的缺点. 本来直接自己找一下什么是编码, 什么是加密, 就可以确定 Base64 算不算一种加密算法了. 结果不读书不搜索, 直接论坛口嗨一句"这货不能算加密算法", 还有人跟风. 真要了解一下, 这不就是入门的问题吗?
    「你的问题主要是读书不多而想得太多」----杨绛
    deepdark
        113
    deepdark  
       2019-07-05 16:36:49 +08:00 via Android   ❤️ 2
    看似你很懂,其实你不懂。
    交易区 base64 编码只是为了防止搜索引擎爬取,然后别有用心的人进行人肉的。
    你在扯什么重要信息别用 base64??
    信息发在交易区就是要给别人联系的,难道还需要上个 RSA??
    你的点没抓对,要是扣回复区大家“ base64 加密”的字眼没问题。
    vowers
        114
    vowers  
       2019-07-05 16:37:28 +08:00
    买本密码学的书好好读读 你就知道是不是了
    Kylin30
        115
    Kylin30  
       2019-07-05 16:38:43 +08:00
    只有三毛、哪吒、金刚葫芦娃会没事发自己的 base64 密码
    Aixtuz
        116
    Aixtuz  
       2019-07-05 16:46:37 +08:00
    来帮你们总结:
    未达到 “保密” 标准的 “识图加密” 的过程,还算 “加密” 吗?
    scotmouton
        117
    scotmouton  
       2019-07-05 16:49:07 +08:00
    这个论坛搞不懂 base64 的人是少数;
    为什么 base64 编码也有人解释了,就拿交易区的来说,将你的微信或者个人联系方式 base64 编码后发布,能有效的过滤一部分询价或者购买意愿不强的人,这也是一个很重要的因素,因为除了居心不良的人,谁的特意为了一个不想买的东西自己去解码呢?//虽然现在解码很方便;
    ooee2016
        118
    ooee2016  
       2019-07-05 16:51:08 +08:00
    脑子是个好东西
    joyhub2140
        119
    joyhub2140  
       2019-07-05 16:53:08 +08:00   ❤️ 1
    @unclemcz 不好意思,我只研究到原理的级别就没深究了,不过,没有明文对照,估计没戏,只能从统计学上去尝试突破,例如出现次数最多的字符,很有可能对应的是 e 之类的,只能帮你到这里了。
    RockShake
        120
    RockShake  
       2019-07-05 16:54:52 +08:00
    你以为这里用这种编码是为了加密么
    byuan04
        121
    byuan04  
       2019-07-05 16:54:54 +08:00
    炸鱼贴?
    keepeye
        122
    keepeye  
       2019-07-05 16:56:27 +08:00
    用 base64 是为了方便传输二进制
    belin520
        123
    belin520  
       2019-07-05 16:57:53 +08:00
    钩直饵咸,钓出几条大鱼
    佩服楼主
    Mountain
        124
    Mountain  
       2019-07-05 16:59:17 +08:00
    @zzhong #4 MD5 也不是加密,MD5 是摘要。。。。
    joyhub2140
        125
    joyhub2140  
       2019-07-05 16:59:36 +08:00
    @unclemcz 当我上面瞎说的哈,统计学在里面应该是没啥用处的 - -
    ackfin01
        126
    ackfin01  
       2019-07-05 17:05:53 +08:00
    @msaionyc 哈哈哈哈 笑死我了,看到标题我也是这感觉,于是猜到回帖肯定很精彩,于是进来看看
    unclemcz
        127
    unclemcz  
       2019-07-05 17:06:52 +08:00
    @joyhub2140 好的谢谢
    log4j
        128
    log4j  
       2019-07-05 17:12:38 +08:00
    吃瓜吃瓜,看这个标题,然后看看这个态度,emmm,哈哈哈,似乎不是来讨论的,而是来骂街的
    HanMeiM
        129
    HanMeiM  
       2019-07-05 17:17:17 +08:00
    ai0by
        130
    ai0by  
       2019-07-05 17:24:05 +08:00
    RSA 才算加密吧
    sevenzhou1218
        131
    sevenzhou1218  
       2019-07-05 17:24:07 +08:00
    base64 算加密,md5 不是
    niubee1
        132
    niubee1  
       2019-07-05 17:30:43 +08:00
    在大数据和大规模神经网络的加持下, 功夫网已经不需要解密你的 https 就能知道你是不提到了维和词汇了
    sairoa
        133
    sairoa  
       2019-07-05 17:33:50 +08:00
    个人认为,base64 是一种类似于凯撒密码的古典加密算法,虽然很容易被解码,但仍然可以认为这是一种加解密算法。
    labulaka
        134
    labulaka  
       2019-07-05 17:35:01 +08:00
    Base64 是一种基于 64 个可打印字符来表示二进制数据的表示方法 结贴了 https://zh.wikipedia.org/wiki/Base64
    Davic1
        135
    Davic1  
       2019-07-05 17:38:35 +08:00   ❤️ 2
    认真分析一下楼主的观点, 发现这个观点有点奇怪...

    "base64 仅是一种编码方式"

    那编码前的内容叫什么? 叫明文(PlainText)大伙儿应该都可以接受吧

    假设 base64 是加密, 那么 PlainText 经过 base64 之后的内容, 暂且称之为 [密文] 吧. 这个过程暂且称之为加密
    假设 base64 是编码 ,那么 PlainText 经过 base64 之后的内容, 暂且称之为 [码文] 吧. 这个过程暂且称之为编码

    我要从 [密文] 读出 PlainText, 经过的步骤是 [解密] .
    我要从 [码文] 读出 PlainText, 经过的步骤是 [解码] .

    解密的过程: 拿着 [密文] 对照 [加密表] 按照加密的逆过程操作
    解码的过程: 拿着 [码文] 对照 [编码表] 按照编码的逆过程操作

    ----------------------------------------------------------------------------------
    分析到这里, 对照着上面的分析过程, 我能得出的结论是:
    加密, 有编码的特性
    编码, 也有加密的特性

    那么到底这整个过程到底应该叫加密还是叫编码?

    em....
    光他妈的到底是波还是粒子啊??????
    iwong0exv2
        136
    iwong0exv2  
       2019-07-05 17:55:11 +08:00
    base64 是加密。
    MD5 不是加密。顺带说一下:如果 MD5 算加密的话,那它也应该是压缩效率最高的压缩算法了。
    Hstar
        137
    Hstar  
       2019-07-05 17:58:18 +08:00
    @msg7086 @geelaw 抱歉抱歉,当时脑一抽用错了名次,刚刚重新温习了下,可不可还原应该是叫做“可逆、不可逆加密”,“对称、不对称”指的是有公钥私钥的加密方式。
    多谢指出。
    tanrunhao
        138
    tanrunhao  
       2019-07-05 18:00:55 +08:00
    用自定义编码表不就能加密了吗…… 看回复大部分居然都认同 base64 不是加密的说法。 虽然我们通常是用默认的编码表,但不代表 base64 不能用作加密
    2067
        139
    2067  
       2019-07-05 18:03:07 +08:00
    base64 作为编码方式是把不可见字符编码为可见字符,

    md5 属于哈希或者叫摘要算法
    认证算法是 hmac,里面的 h 可以选择 md5 也可以 sha256
    加密算法分成对称和非对称,base64 算是加密是一种大家都知道密码本的“对称加密方法”,所以就没有任何安全性了。

    另外如果自己编一套映射规则,确实对于小白来说就无法破解了,但是实际要想破解还是很容易,不管是通过概率共计或者哪怕是穷举都可以
    Tonyski
        140
    Tonyski  
       2019-07-05 18:04:05 +08:00
    钓鱼贴
    都 9102 年了,还在玩文字游戏呢,知道是干什么用的不就行了
    Loner233
        141
    Loner233  
       2019-07-05 18:20:51 +08:00 via Android
    那请问凯撒密码算加密吗?
    miniwade514
        142
    miniwade514  
       2019-07-05 18:30:08 +08:00
    你这个附言莫名其妙啊。这帖子本身就是在咬文嚼字,结果又怪大家咬文嚼字。
    XD2333
        143
    XD2333  
       2019-07-05 18:34:32 +08:00
    本来论坛留的`base64`后的 wx 和 email 都是为了让人随手解开啊,防一些别的而已。
    jackleelss123
        144
    jackleelss123  
       2019-07-05 18:38:34 +08:00
    闲的
    mangoDB
        145
    mangoDB  
       2019-07-05 18:38:45 +08:00
    **所以,base64 不是万能的,别为了 base64 而 base64,也别以为 base64 包打天下。**

    拜托,我只是不想被**普通网民**通过搜索引擎检索我的联系方式而已。至于 base64 打不打天下,这只是你的一厢情愿而已。

    你的言论让我想起生活中这样一种场景:你在街上看到一个女生打着一顶普通雨伞遮阳,于是匆忙跑上去,大吼:“拜托,你这顶雨伞并没有**防紫外线涂层**,别以为躲在它下面就不会被晒黑,你应该有点生活常识“。
    shm7
        146
    shm7  
       2019-07-05 18:58:40 +08:00 via iPhone
    本来就是一种编码方式。密文也是特殊的编码。base64 给我爸妈看,他们识别不了。
    sirm2z
        147
    sirm2z  
       2019-07-05 19:00:40 +08:00 via iPhone
    可能是好心发帖,但错误理解了论坛里发 base64 的目的
    被 v 友指出来结果气的跳脚,虚心接受又不会掉块肉
    fork
        148
    fork  
       2019-07-05 19:04:20 +08:00
    记得好像密码学入门教材一开始会拿 rot13 来做开场白,那 rot13 算不算加密呢?
    good1uck
        149
    good1uck  
       2019-07-05 19:05:59 +08:00 via Android
    年轻气盛啊,楼主未成年吧
    jowenzzzzz
        150
    jowenzzzzz  
       2019-07-05 19:10:22 +08:00 via Android
    @icy37785 我觉得算是加密了,不能因为他简单,早期加密不就是字符加减数值吗
    nihiue
        151
    nihiue  
       2019-07-05 19:43:30 +08:00 via Android
    base 64 一直就只是编码,认为是加密的水平也太次了
    SuperMild
        152
    SuperMild  
       2019-07-05 20:40:15 +08:00   ❤️ 1
    儿童锁是不是锁?

    有一种结构简单的锁,用来锁一些常用的东西,免得用钥匙麻烦,成年人随手就能打开,但低龄儿童打不开,比如小刀、剪刀等可以锁在里面。

    那么问题来了,儿童锁是不是锁?
    tomato1111
        153
    tomato1111  
       2019-07-05 20:47:18 +08:00
    火气有点大。。。。v 上那么多人发邮箱用 base64 只是为了防爬虫而已。。。
    Shura
        154
    Shura  
       2019-07-05 20:57:06 +08:00
    base64 是加密算法,属于古典加密算法。
    MinonHeart
        155
    MinonHeart  
       2019-07-05 21:02:13 +08:00 via iPhone
    openssl 支持的都算加密
    guog
        156
    guog  
       2019-07-05 21:03:19 +08:00 via Android
    @Patrick95 罗老师别这样,
    smallgoogle
        157
    smallgoogle  
       2019-07-05 22:15:24 +08:00
    我猜温州话也算是加密。
    paodange
        158
    paodange  
       2019-07-05 22:16:26 +08:00 via Android
    base64 就是加密啊,怎么不是,只不过加密方式和解密方式都是公开的而已。文本编码一样可以认为是加密,只要不公开如何编码,别人就没办法还原明文。
    niubee1
        159
    niubee1  
       2019-07-05 22:25:09 +08:00
    凡是认为 Base64 算加密的都自己改行吧, 这行不适合你们。别用一些乱七八糟的比喻来妄图说明人肉不能识别的就是加密。连什么是 encoding, 什么是 digest, 什么是 encryption 都分不清楚。技术的事情一是一二是二,那种周易八卦都扯出来的民科程序员更是趁早离开这行,别害人害己了
    madpecker009
        160
    madpecker009  
       2019-07-05 22:30:02 +08:00 via Android
    😂😂小白吧。。。不要太较真了 杠精会来的
    Hconk
        161
    Hconk  
       2019-07-05 22:31:21 +08:00 via iPhone
    base64 的问题快成 v 站日经贴了。
    icy37785
        162
    icy37785  
       2019-07-05 22:44:46 +08:00
    @jowenzzzzz 回错人了吧。
    realpg
        163
    realpg  
       2019-07-05 22:46:01 +08:00
    base64 是一种加密方法
    反而常用来存储密码的 md5 sha1 啥的不是
    icy37785
        164
    icy37785  
       2019-07-05 22:55:18 +08:00   ❤️ 1
    @niubee1 前面所有说 base64 算加密的都加了范围是广义范围内,或者古典密码学范畴,你连密码学都没看过,就别跟楼主一样出来哗众取宠了,密码学第一章就对加密的进行了定义,base64 显然是符合定义的。只是在现代密码学范畴才开始对加密要求了密钥。不要你以为不是就不是,目前你知道的不知道的所有加密,都是密码学的成果,不是你以程序员身份可以下定义的,更不是你用你的无知来说别人改行的。。。
    当程序员起码应该善于用搜索吧,搜索一下“加密”的定义不难吧,不懂就搜索要求不高吧,就你这不懂,也不去试图弄懂,就开始大放厥词,我倒是想劝劝你,这行不适合你。科学的事情是严肃的,一是一二是二,别用 py 考虑问题,别人民科还动动脑子呢,你这民科都不如的程序员更是趁早离开这行,别害人害己了
    niubee1
        165
    niubee1  
       2019-07-05 23:41:05 +08:00   ❤️ 1
    @icy37785 最烦这种动不动就给你随意扩大范围跟你扯蛋的。什么是 Base64, 什么是密码学都没搞懂的恰恰就是你们这类动不动就比喻类比的“文科帝”。 但是技术的事情,说一是一说二是二, 你要玩嘴炮根文科生玩去。
    下面科学的批判一下你的错误。
    第一, 维基百科对于 Base64 的解释是:Base64 是一种基于 64 个可打印字符来表示二进制数据的表示方法。而确实 Base64 的由来就是为了用可见字符来描述二进制数据的一种“编码方式”。
    何谓编码方式?编码方式是将二进制数据和字符之间进行映射的一种方式,这种映射是计算机系统如何处理文字的基础。这种映射是有序的,比如 97 表示了字符 a, 那么 98 必然标识了字符 b。这种有序的, 公开的映射即为编码。

    第二, 何谓加密。维基百科的解释是: 在密码学中,加密(英语:Encryption )是将明文信息改变为难以读取的密文内容,使之不可读的过程。只有拥有解密方法的对象,经由解密过程,才能将密文还原为正常可读的内容。

    注意, 为什么有后面一句, 加密的基本三元素 明文-密钥-密文。密钥就是解密方法的对象。 用最经典的凯撒密码来说

    >------------------------------------摘自维基百科-------------------------------------------
    >凯撒密码的替换方法是通过排列明文和密文字母表,密文字母表示通过将明文字母表向左或向右移动一个固定数目的位>置。例如,当偏移量是左移 3 的时候(解密时的密钥就是 3 ):
    >
    >明文字母表:ABCDEFGHIJKLMNOPQRSTUVWXYZ
    >密文字母表:DEFGHIJKLMNOPQRSTUVWXYZABC
    >----------------------------------------------------------------------------------------------

    注意,3 是密钥(解密过程的关键), 这是可以变的, 只有传递信息的双方知道, 这才是密钥。
    我们可以理解为, 凯撒密码采用了字符映射的方式(编码)来实现了加密,但是密钥才是关键, 字符映射是实现的(基本)手段。

    回到正题就是, **从最基本的加密概念来说, 可以采用只有加密解密双方共同知道的映射方式的字符映射来实现加密。但是你不能理解成字符映射等于加密。就跟你可以用牛肉来煎牛排,但是牛肉并不是牛排, 它也可能是土豆炖牛肉一个道理。** 这种民科似的随意扩大概念来彰显自己的方式并不可取。谁用 PY 思考问题一目了然
    her999
        166
    her999  
       2019-07-05 23:48:19 +08:00
    如果 Base64 是加密算法的话,那么 ascii、gbk、big4、utf-8 等等是不是也算加密方法呢?
    niubee1
        167
    niubee1  
       2019-07-05 23:49:33 +08:00
    @icy37785 而且看你之前的回复,你居然认为算法公开和 Base64 的编码方式公开是一个意思:

    我真是服了你了。 加密算法的哪个算法不是公开的?没有密钥你有公开的算法有个毛用啊,你是真不懂啥是加密, 啥是加密算法啊。还古典密码学,上面的回复给你科普了“古典的”凯撒密码。 没有密钥?不知道 偏移量也够你实验半天的了。偏移量就是密钥, 还口称“古典密码学”, 笑死先人了
    claysec
        168
    claysec  
       2019-07-05 23:52:55 +08:00
    好了我们都用 PGP 交流吧(逃)
    vincel
        169
    vincel  
       2019-07-05 23:55:14 +08:00 via iPhone
    楼主贻笑大方了…谁给你说用 base64 发 wx 的目的是加密。你把这当贴吧了吧 给 v2er 这样的大部分受众是程序员的人群普及编码算法…
    niubee1
        170
    niubee1  
       2019-07-05 23:56:57 +08:00
    @vincel 不至于, 至少回帖暴露出了好大一部分所谓的“程序员”, 其实并不真正理解了编码, 和加密
    kawkeye
        171
    kawkeye  
       2019-07-06 00:16:59 +08:00 via Android
    帖子描述的很有激情
    我不喜欢被代表和戴帽子
    我也不喜欢留联系方式
    zrt
        172
    zrt  
       2019-07-06 00:23:56 +08:00   ❤️ 1
    ROT13 算不算加密算法呢?
    scnace
        173
    scnace  
       2019-07-06 00:26:58 +08:00 via Android
    不然呢?
    scnace
        174
    scnace  
       2019-07-06 00:30:31 +08:00 via Android
    Go 的包名说明一切

    encoding/json encoding/base64

    crypto/md5 crypto/rsa
    rpish
        175
    rpish  
       2019-07-06 00:36:48 +08:00 via Android
    @uqf0663 看来以后人肉程序员得试下 bs64
    umbrellakkk
        176
    umbrellakkk  
       2019-07-06 00:46:17 +08:00
    是不是加密不是以你能不能轻易解密来定义的,就好像你做的题是不是考试题,不是由你会不会做来决定的,你会做的就是作业,不会做的就是考试,没这个概念。
    stabc
        177
    stabc  
       2019-07-06 04:23:36 +08:00
    谦虚点吧。
    binux
        178
    binux  
       2019-07-06 05:32:11 +08:00
    base64 这个话题以前就争论过了 https://www.v2ex.com/t/513457#r_6549614
    不过看起来这次支持 base64 在古典密码学范畴算加密的人数多一些了😁
    yutou527
        179
    yutou527  
       2019-07-06 08:52:09 +08:00 via Android
    为什么是你个人认为🤣,base64 本来就是个编码方式啊。
    帖子里 base64 一般都是处理下联系方式防 spider 的啊
    darknoll
        180
    darknoll  
       2019-07-06 09:00:10 +08:00
    这不是常识吗,搞计算机的还专门来说这个,岂不是太掉价了
    Youngxj
        181
    Youngxj  
       2019-07-06 09:02:35 +08:00
    小白路过,很少用 base64
    xuanbg
        182
    xuanbg  
       2019-07-06 09:09:13 +08:00
    @uptime 密语和加密根本就不是一回事呀。
    presoul
        183
    presoul  
       2019-07-06 10:12:45 +08:00 via Android
    月经 如果是科普 请深层次的解读
    这几句话无意义 只会让别人认为楼主的水平
    cybernil
        184
    cybernil  
       2019-07-06 10:22:53 +08:00
    发帖要手机号验证了?
    snoopy1024
        185
    snoopy1024  
       2019-07-06 10:23:51 +08:00 via iPhone
    @ochatokori 通透
    B0HNSlX
        186
    B0HNSlX  
       2019-07-06 10:26:44 +08:00 via Android
    @uptime
    这篇托福阅读虐杀我哟 T T
    uqf0663
        187
    uqf0663  
       2019-07-06 11:09:19 +08:00
    @rpish 那难度就大多了,我 base64 的内容可以是“微信:xxx ” “ wechat:xxx ” “邮箱:xxx ” “ email:xxx ” 之类的,base64 出来的结果完全的不同,你要难以穷举我的所有内容。
    hhhsuan
        188
    hhhsuan  
       2019-07-06 11:52:09 +08:00   ❤️ 1
    理解这个问题分三个阶段:
    1. base64 可以用来加密
    2. base64 根本不是加密
    3. 加密本质就是一种编码,base64 也可以算是加密,只不过我们不用它来加密罢了

    楼主现在走到了第 2 阶段。
    Joshua999
        189
    Joshua999  
       2019-07-06 12:45:07 +08:00 via Android
    那那些古典加密,二战时的恩格玛,现在来说都不难破解,它们还算加密算法吗?
    编码和加密确实有点不好区分,应该要看它们的目的吧,编码是为了便于传输和存储,加密是为了不让别人轻易活的明文信息。用 base64 编码的目的显而易见。
    miaomiao888
        190
    miaomiao888  
       2019-07-06 13:25:12 +08:00
    众人皆醉楼主独醒而事实上往往相反的样子
    7r0y
        191
    7r0y  
       2019-07-06 13:29:41 +08:00
    如果是之前的学英语留 VX 号的帖子
    个人认为,base64 确实不算是“加密”
    使用 base64 之后能在一定程度对于心怀不轨的人,能在一定程度上防止搜索引擎对微信账号的明文搜索。
    xfriday
        192
    xfriday  
       2019-07-06 15:07:23 +08:00
    加密是编码的一种,取决于密码本公不公开,base64 的密码本是公开的,所以就不是加密了
    FrankHB
        193
    FrankHB  
       2019-07-06 16:09:40 +08:00
    ji4ozhu
        194
    ji4ozhu  
       2019-07-07 02:14:30 +08:00
    留 wx.qq.email 之类的 base64 是因为 不想被爬虫爬去发垃圾广告.
    tankren
        195
    tankren  
       2019-07-07 08:48:18 +08:00 via Android
    简单加密也算加密啊 门外汉也看不懂
    1mi8delaowang
        196
    1mi8delaowang  
       2019-07-07 10:05:52 +08:00
    防搜索引擎而已 老哥
    jinliming2
        197
    jinliming2  
       2019-07-07 11:51:43 +08:00 via iPhone
    有人把 base64 和 凯撒密码 扯在一起,看起来差不多,但重要区别在于:
    凯撒密码的“密码”,也就是字母偏移是保密的(不讨论暴力破解的问题),不知道偏移就无法解密。
    而 base64 的码表是作为标准固定的(当然也有几种变体,但也是有固定标准的),也就是通过 base64 一定得到相同结果。
    这就是 base64 与凯撒密码的区别,一个得到的结果是固定的,一个可以通过不同密码得到不同结果。所以一个只是编码,另一个才是加密方式。

    如果你把 base64 的码表做了修改,那么的确,只有拿到你修改版本的码表才能知道原始内容了,这时就已经不符合 base64 标准了, [它就不是 base64 了] 。你就可以用不同的码表作为密码,把这种转换当成凯撒密码来用。

    还有 MD5 的问题:编码存在解码的过程,加密也存在解密的过程,而 MD5 是不可逆的(不考虑暴力列表的方法,并且同样的 MD5 理论上也对应无数种原数据),所以它即不属于编码算法,也不属于加密算法,只能叫做摘要算法。
    cyspy
        198
    cyspy  
       2019-07-07 13:10:17 +08:00
    base64 设计的目的是让二进制文件变成可打印字符,方便印出来的
    leekafai
        199
    leekafai  
       2019-07-07 15:32:51 +08:00 via Android
    “今晚那个吗”
    这句话算不算加密了?
    不好说,对会话双方来讲,是明文,对其他人来讲,是密文。
    那这句话加密了吗?我想是有的,只是加密的方式,不是你所理解的加密方式。
    那 Base64 算加密手段吗?
    对于不知道使用 Base64 的人来说,是非明文的,像是加密了似的。
    但 Base64 确实只是一种编码方式,但不妨碍大家使用普通的编码方式降低明文的可读性。
    所以,使用透明的编码方式能不能达到加密的效果呢?输出算不算是加密呢?
    所以,今晚那个吗?
    wendellyih
        200
    wendellyih  
       2019-07-07 20:25:06 +08:00 via Android
    楼主的理解是对的。
    1  2  3  
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   984 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 28ms · UTC 20:58 · PVG 04:58 · LAX 12:58 · JFK 15:58
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.