V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
nnnToTnnn
V2EX  ›  问与答

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

  •  1
     
  •   nnnToTnnn · 2019-07-29 13:20:42 +08:00 · 5287 次点击
    这是一个创建于 1936 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

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

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

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

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

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


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


    but,这里有个最大的问题:gpg public key 和加密后的 message 都是文本内容,但感觉会触发 v 站的蜜汁关键字过滤系统,然后发不出来。。。/降权警告,滑稽 /
    nnnToTnnn
        43
    nnnToTnnn  
    OP
       2019-07-30 09:29:46 +08:00
    @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
       2019-07-30 09:30:24 +08:00
    @yzwduck 其实我说的大概是这个意思,不严格,不好意思
    wly19960911
        45
    wly19960911  
       2019-07-30 09:33:02 +08:00
    为的是防止搜索引擎爬到 , 是搜索引擎, 并不是特定的爬虫. 你要的是让人能看懂,机器处理又麻烦的东西而已. 只要人看得懂的东西机器也能解析(只要不是抽象的图像).
    nnnToTnnn
        46
    nnnToTnnn  
    OP
       2019-07-30 09:33:53 +08:00
    @Osk 私钥加密,就成为了 base64 了, =.= 理论上不会触发吧。。。
    ryd994
        47
    ryd994  
       2019-07-30 10:10:23 +08:00 via Android
    @nnnToTnnn 就你会用 gpg ?
    这不就是我说的询问每个人都公钥,然后单独回复密文?
    问题是完全可以中间人,你怎么知道公钥服务器上的那个密钥就是真的?如果是在这里贴指纹的话,你无非是在利用 V2EX 的 HTTPS 来保证而已

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

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

    闲的蛋疼
    ryd994
        48
    ryd994  
       2019-07-30 10:11:21 +08:00 via Android
    要这样遮遮掩掩何必发论坛,暗网上自个玩好了
    darmau
        49
    darmau  
       2019-07-30 13:59:21 +08:00
    @niubee1 假的 geek 用域名邮箱,临时添加一个地址,用完废除。
    olaloong
        50
    olaloong  
       2019-07-30 22:02:14 +08:00 via Android
    发出来是给人看的,真想加密 AES/DES 密码密文一起发出来就是了,解密也方便。又不需要防篡改,用 GPG 图个啥?麻烦
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   966 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 36ms · UTC 21:41 · PVG 05:41 · LAX 13:41 · JFK 16:41
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.