nnnToTnnn
V2EX  ›  问与答

[疑惑] 为什么 v 站没有人推行 gpg 反而推行 base64 进行编码

  •  1
     
  •   nnnToTnnn · Jul 29, 2019 · 5851 views
    This topic created in 2480 days ago, the information mentioned may be changed or developed.

    gpg 可以签名并且加密,而 base64 只能进行编码,为什么 v 站的人不用 gpg

    50 replies    2019-07-30 22:02:14 +08:00
    nnnToTnnn
        1
    nnnToTnnn  
    OP
       Jul 29, 2019
    gpg 为什么没有在 v 站流行起来
    springmarker
        2
    springmarker  
       Jul 29, 2019
    一个“明文”,一个密文
    Maboroshii
        3
    Maboroshii  
       Jul 29, 2019
    主要是麻烦 ,发一个消息还要带共钥吗
    nnnToTnnn
        4
    nnnToTnnn  
    OP
       Jul 29, 2019
    @springmarker 其实 gpg 只要给一个名称,也可以索引到公钥进行解密,这样就安全多了,主要是增加爬虫的成本
    rrfeng
        5
    rrfeng  
       Jul 29, 2019 via Android   ❤️ 1
    会解 base64 的人 80%(包括大部分随便网上搜一下解的)
    会用 gpg 的估计不超过 10%
    zcjfesky
        6
    zcjfesky  
       Jul 29, 2019 via Android
    因为大家不是真的想加密
    springmarker
        7
    springmarker  
       Jul 29, 2019
    @nnnToTnnn #4 我发个内容还得签个公私钥?我解个内容还得找个支持公钥解密的 web 站?
    jdhao
        8
    jdhao  
       Jul 29, 2019 via Android
    对,并不是想加密,就是防止直接被爬虫爬了
    nnnToTnnn
        9
    nnnToTnnn  
    OP
       Jul 29, 2019
    @springmarker 安装好了后,直接就可以鼠标复制文字,右键解密即可,但是需要导入对应的公钥,可以通过公钥服务器进行索引
    jadec0der
        10
    jadec0der  
       Jul 29, 2019
    base64 是反爬虫的,并不需要加密
    niubee1
        11
    niubee1  
       Jul 29, 2019
    真正 Geek 的做法是在自己的机器上部署个反向 ping 服务, 发布一个连接, 点开输入邮箱, 反向 ping 服务收到对方邮箱后,再自己的邮箱发过去, 这样子算是真正的“非诚勿扰”了,base64 只是那些掩耳盗铃的玩笑话而已
    nnnToTnnn
        12
    nnnToTnnn  
    OP
       Jul 29, 2019
    @jdhao 其实 base64,特征也很好识别,对于爬虫来说其实没有太大的成本,但是 gpg 就不一样了,成本就有点高了,不同的加密内容对应的公钥不一样,甚至发布公钥的方式也不样,这样成本就很高了
    springmarker
        13
    springmarker  
       Jul 29, 2019
    @nnnToTnnn #9 问题就在这啊,我还得找个软件解密,我在手机上没有怎么办,base64 这么多 web 站支持。再说加密的数据不是二进制数据吗?页面上该怎么显示呢?
    killerv
        14
    killerv  
       Jul 29, 2019   ❤️ 3
    @niubee1 你不理解别人用 base64 的目的,这么做只是为了不让自己的邮箱被搜索引擎抓到,免得在 Google、百度上输入邮箱就能搜到你的个人信息。并不是为了给人造成困扰
    agagega
        15
    agagega  
       Jul 29, 2019 via iPhone
    gpg 加密了咋公开让所有人都看到…
    glaucus
        16
    glaucus  
       Jul 29, 2019
    应用场景不同而已了
    nnnToTnnn
        17
    nnnToTnnn  
    OP
       Jul 29, 2019
    @agagega 带上用户名,上传私钥到 gpg 服务器,id 和用户名进行索引
    maichael
        18
    maichael  
       Jul 29, 2019
    就像楼上所说的,用 base64 不是为了加密,某种程度上来说,只是做混淆,防止爬虫直接爬下来使用。
    niubee1
        19
    niubee1  
       Jul 29, 2019
    @killerv 我写个转抓 v 站的爬虫,b64 解开就是了, 你能挡住?反而更好识别了
    killerv
        20
    killerv  
       Jul 29, 2019
    @niubee1 你的爬虫无所谓啊,你的这个行为不是我 encode 的目的。我要防的是搜索引擎,在搜索引擎搜索我的邮箱搜不到相关信息就行。
    icy37785
        21
    icy37785  
       Jul 29, 2019 via iPhone   ❤️ 1
    本来就不想加密呀,你要先理解用途,你觉得 base64 特征明显,殊不知用 base64 就是因为它特征明显,我不写任何上下文,别人也能理解为发的是什么,怎么能看到内容,这才是最大的优点。
    你认为特征明显爬虫还是好爬就是真的想多了,你写写爬虫就知道了,并没有你想象中那么好爬,大量的没有上下文的,base64,肉眼能看懂,爬虫可就为难了,爬起来麻烦了不止一个量级,这样就已经够了,大多数的数据价值不值得让爬虫多做这么一句麻烦一个量级的操作。
    liukangxu
        22
    liukangxu  
       Jul 29, 2019   ❤️ 1
    题主应该不清楚 GPG 能做什么、不能做什么
    ryd994
        23
    ryd994  
       Jul 29, 2019 via Android   ❤️ 1
    @nnnToTnnn 私钥公开,公钥可以从私钥计算出来,这还有什么意义呢?
    你有两个选项:
    1. 请每个想看的人贴出自己的公钥,你加密后再把密文回复给他
    2. 公开或半公开( base64 )明文,公开公钥,以私钥签名,证明是你发的。但这除了能一定程度上验证身份之外没有任何意义。

    gpg 的信任链是靠口口相传来建立的,在不特定的公开场合根本没法用。说加密的话,只要你无法验证接收者的身份,那加密和混淆没有本质区别,因为可以中间人攻击。说签名的也是如此。
    Tink
        24
    Tink  
    PRO
       Jul 29, 2019 via iPhone
    主要是需要有公钥啊
    binbinyouliiii
        25
    binbinyouliiii  
       Jul 29, 2019   ❤️ 1
    我想知道二进制数据怎么贴出来,或者是或孤陋寡闻,楼主可以试试发个对比测试的样例,让我们试试啊
    z0ne
        26
    z0ne  
       Jul 29, 2019
    没被害妄想症的感觉都 OK
    (我想多交朋友,微商也无所谓,说不定还能给做微商的合作开发一套微商商城,哈哈)

    小程序开发,目前打算开发一套 SaaS 系统,后边再扩展到电商,有兴趣欢迎聊聊。
    微信:Hack_Fish
    love
        27
    love  
       Jul 29, 2019 via Android
    这两个都哪跟哪不是同一个用处,base64 又不是用在加密的地方,只是用在需要明文字符的地方。
    TMDlw
        28
    TMDlw  
       Jul 29, 2019
    @niubee1 #11 如果你发个求助帖或者求职帖,留下一个解密难度稍微麻烦一点的加密联系方式,看有几个人联系你
    EmotionV
        29
    EmotionV  
       Jul 29, 2019   ❤️ 3
    让我想起了之前留 md5 的哥们
    motown
        30
    motown  
       Jul 29, 2019 via Android
    楼主请问 0x41E7044E1DBA2E89 这个联系人邮箱是什么
    baicheng10
        31
    baicheng10  
       Jul 29, 2019
    上面已经说了,本来就不是为了加密……
    rogwan
        32
    rogwan  
       Jul 29, 2019 via Android
    @nnnToTnnn base64 两次,爬虫就蒙了,总不能还多重逆向吧
    panda1001
        33
    panda1001  
       Jul 29, 2019 via Android
    @binbinyouliiii 二进制数据于是又 base64
    wlh233
        34
    wlh233  
       Jul 29, 2019
    @binbinyouliiii base64 就是为了用可打印字符来表示二进制数据
    azh7138m
        35
    azh7138m  
       Jul 29, 2019
    @binbinyouliiii base64 encode (笑
    deorth
        36
    deorth  
       Jul 29, 2019
    trade-off
    jugelizi
        37
    jugelizi  
       Jul 29, 2019
    需求->技术
    not
    技术->需求
    msg7086
        38
    msg7086  
       Jul 30, 2019
    先问问自己,为什么要签名和加密。
    签名没有线下背书,没有卯月。加密……加密干嘛?

    说 base64 很好识别,那意思是 gpg 不好识别?你怕不是要笑死我。
    anguiao
        39
    anguiao  
       Jul 30, 2019 via Android
    不想被搜索引擎索引而已,根本不需要加密
    yzwduck
        40
    yzwduck  
       Jul 30, 2019
    “其实 gpg 只要给一个名称,也可以索引到公钥进行解密” 在说出这种话前,最好先动手实验一下这的想法是否可行。一旦说出来后,对于你来说可能无所谓;如果用过 gpg 或学过密码学的人的话,这绝对是一生抹不掉的污点。
    还有,麻烦帮忙找一个接收私钥的 gpg 服务器给大家看看。
    Catal9527
        41
    Catal9527  
       Jul 30, 2019 via iPhone
    不想被爬虫抓+1
    Osk
        42
    Osk  
       Jul 30, 2019
    需要在隐私和易用间取个平衡呀。其实非要用也行啊:

    使用 webencrypt [.] org/openpgpjs/ 等类似的网站,A 生成一对 key (估计没人会上传自己的 key 哈),然后把他的 gpg public key 回复在帖子里,B 使用这个 public key 来加密后回复。


    至于用私钥加密,告诉大家公钥,那为啥我不使用 base64 呢,这不和 base64 一样吗。。。


    but,这里有个最大的问题:gpg public key 和加密后的 message 都是文本内容,但感觉会触发 v 站的蜜汁关键字过滤系统,然后发不出来。。。/降权警告,滑稽 /
    nnnToTnnn
        43
    nnnToTnnn  
    OP
       Jul 30, 2019
    @yzwduck
    @ryd994
    @Osk

    其方式如下,首先公布自己的 KEY,可以在公钥服务器,或者任何一个 HTTP 里面进行公布,也有现成的服务器 sks-keyservers 等等

    交互的原理如下

    A B 两人都上传公钥到服务器

    A 发表帖子: 这里有个 XXX 项目,如果大家有兴趣留下自己的联系方式。我的公钥在 xxx 地方

    B 看到帖子: 索引到 A 的公钥然后进行 encode('msg'),发布到 v2ex, 我的 wechat .... , 我的公钥在 xxx 地方

    A 看到帖子: 拿到消息解密,然后拿到 B 的公钥进行 encode('msg'),然后进行回复消息


    在私钥不泄露的情况下,发布的消息只有双方能看到。
    nnnToTnnn
        44
    nnnToTnnn  
    OP
       Jul 30, 2019
    @yzwduck 其实我说的大概是这个意思,不严格,不好意思
    wly19960911
        45
    wly19960911  
       Jul 30, 2019
    为的是防止搜索引擎爬到 , 是搜索引擎, 并不是特定的爬虫. 你要的是让人能看懂,机器处理又麻烦的东西而已. 只要人看得懂的东西机器也能解析(只要不是抽象的图像).
    nnnToTnnn
        46
    nnnToTnnn  
    OP
       Jul 30, 2019
    @Osk 私钥加密,就成为了 base64 了, =.= 理论上不会触发吧。。。
    ryd994
        47
    ryd994  
       Jul 30, 2019 via Android
    @nnnToTnnn 就你会用 gpg ?
    这不就是我说的询问每个人都公钥,然后单独回复密文?
    问题是完全可以中间人,你怎么知道公钥服务器上的那个密钥就是真的?如果是在这里贴指纹的话,你无非是在利用 V2EX 的 HTTPS 来保证而已

    你不妨试试看,看有几个人会看你的内容?

    反正我是不看,即使我会用 gpg 而且私钥存于硬件智能卡

    闲的蛋疼
    ryd994
        48
    ryd994  
       Jul 30, 2019 via Android
    要这样遮遮掩掩何必发论坛,暗网上自个玩好了
    darmau
        49
    darmau  
       Jul 30, 2019
    @niubee1 假的 geek 用域名邮箱,临时添加一个地址,用完废除。
    lxc404
        50
    lxc404  
       Jul 30, 2019 via Android
    发出来是给人看的,真想加密 AES/DES 密码密文一起发出来就是了,解密也方便。又不需要防篡改,用 GPG 图个啥?麻烦
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   3210 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 117ms · UTC 14:36 · PVG 22:36 · LAX 07:36 · JFK 10:36
    ♥ Do have faith in what you're doing.