首页   注册   登录
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
git
Pro Git
Atlassian Git Tutorial
Pro Git 简体中文翻译
GitX
GeekHub
stevenkang
V2EX  ›  git

github 存储的文件有限制吗?能用来实现 md5 存储不

  •  
  •   stevenkang · 17 天前 · 2446 次点击

    例如 123456 的 md5 为 e10adc3949ba59abbe56e057f20f883e, 如果 github 存储没有限制,能不能实现以下功能: 1 、每两个字符作为一个目录,之后一组字符作为文件; 2 、文件内容存储 md5 对应的明文,例如 3e.txt => 123456 ; 3 、参与者将计算的结果提交上来,或者分仓库;

    最终达到的效果,获取一段 md5 密文 e10adc3949ba59abbe56e057f20f883e,通过访问 /e1/0a/dc/39/49/ba/59/ab/be/56/e0/57/f2/0f/88/3e.txt 可得对应的明文。

    第 1 条附言  ·  17 天前
    补充一下:
    1 、其实就是在线彩虹表,利用 github 来存储;
    2 、github 有一定限制,分账号分仓库存储也会判定滥用的话,这个就无法实现了;
    3 、这个其实没多大用途,网上彩虹表很多,唯一的优势可能就是成本低、可以一起维护;
    30 条回复    2020-03-24 17:47:37 +08:00
    IMCA1024
        1
    IMCA1024   17 天前
    想不明白有什么用吖
    est
        2
    est   17 天前
    研究下 Merkle tree
    loading
        3
    loading   17 天前 via Android
    在线彩虹表?
    stevenkang
        4
    stevenkang   17 天前
    @IMCA1024 方便查找明文,虽然没多大用途,但有时候还是有点用
    stevenkang
        5
    stevenkang   17 天前
    @loading 是的,任意人可以参与的,作为一个数据集方便所有人使用
    dremy
        6
    dremy   17 天前 via iPhone
    天才的想法
    wangyzj
        7
    wangyzj   17 天前
    你这是要做 hash 碰撞测试吗
    fcten
        8
    fcten   17 天前
    有,貌似是 100GB,用来存彩虹表是不够的
    hstdt
        9
    hstdt   17 天前 via iPhone
    想不出使用场景,而且广泛使用后会影响搜索结果的吧,会不会被判定成滥用?
    dorentus
        10
    dorentus   17 天前
    有限制。

    为什么要用 GitHub ?或者说,为什么要用 git 来承载这个……
    Mohanson
        11
    Mohanson   17 天前 via Android   ❤️ 1
    彩虹表适合用压缩前缀树存储。你的想法脑洞太大,表示无法理解
    stevenkang
        12
    stevenkang   17 天前
    @fcten 我看了网上也是说的硬限制 100G,超过 1G 会提醒。我在想能不能一个账号下建立多个仓库,或者多个账号 x 多个仓库,一人负责一段来实现。比如 A 账号 A1 仓库负责 00 开头的 md5,A 账号 A2 负责 01 以此类推
    hstdt
        13
    hstdt   17 天前 via iPhone
    还想点没买弄清楚,直接存不可以么,为什么要切成 2 位一个做这么多文件夹
    stevenkang
        14
    stevenkang   17 天前
    @dorentus 自己硬盘不够用,要共享这些数据还得搭建服务器。

    @hstdt 可能会判定滥用吧?那样的话就没法实现了。
    dorentus
        15
    dorentus   17 天前
    如果只是为了通过 URL 能访问,那么路径 /e1/0a/dc/39/49/ba/59/ab/be/56/e0/57/f2/0f/88/3e.txt 和 /e10adc3949ba59abbe56e057f20f883e.txt 并没有本质的区别。不管下层如何实现,上层都能提供出这样的访问路径。

    此外,“密文” e10adc3949ba59abbe56e057f20f883e 对应的“明文”的数量是无限的。
    Vhc001
        16
    Vhc001   17 天前
    @stevenkang #14 硬盘不够怎么 git push 上去? Github 网页版在线编辑吗?
    stevenkang
        17
    stevenkang   17 天前
    @dorentus 方便分仓库

    @Vhc001 拆分之后一个仓库负责一点
    hstdt
        18
    hstdt   17 天前 via iPhone
    @stevenkang 既然说起因是硬盘不够用,意思是本地源文件也不进行存储,那你怎么恢复文件呢?比如一段 md5 是 987654,那你靠什么神仙代码能够反推出来源文件是什么呢?更进一步 md5 不唯一
    mengzhuo
        19
    mengzhuo   17 天前
    又一个学太少想太多的……彩虹表也不是这么玩的。

    md5 的一个哈希(你所说的密文),对应无数可能,没准一个值就是 100G 的文件,直接撑爆。
    krixaar
        20
    krixaar   17 天前
    反推某个 md5 的无限种可能的其中一种明文意义何在?
    如果是为了破解密码,敢只用一次 md5 作为加密的地方,估计根本不需要反推密码也能打进去啊?
    如果不是为了破解密码,哪儿还有使用场景?
    AnsonUTF8
        21
    AnsonUTF8   17 天前 via iPhone
    大家不要打击楼主,再给楼主点时间,很快他就要提出 IPFS 了🤫
    azh7138m
        23
    azh7138m   17 天前 via Android
    @mengzhuo 反查很多时候不需要真的知道原文
    只要知道哪个文本 md5 的结果能对上就行了
    purensong
        24
    purensong   17 天前
    天才的想法,这是和区块链有关吗
    zst
        25
    zst   17 天前
    cmd5 的宣传可是占用硬盘超过 500T
    xyjincan
        26
    xyjincan   16 天前
    请求速度可能就自己算出来了
    123444a
        27
    123444a   16 天前 via Android
    彩虹表是利用一个新的哈希函数跟你要破解的哈希依次迭代
    maskerTUI
        28
    maskerTUI   16 天前
    不如买多几个硬盘
    123444a
        29
    123444a   16 天前 via Android
    @maskerTUI 彩虹表一般都是几百 g,不需要买新硬盘吧
    systemcall
        30
    systemcall   16 天前
    要实现目的的话,把条件放开点来考虑试试。
    如果服务器本身不存储文件,每个 client 自己存储一些文件,client 之间通过网络来传输需要的文件,考虑到 md5 之类的方式会有多个文件对应一个 hash,就加上文件名。
    文件分成块,这样有利于传输。每个块做一个 hash,这样传输的时候好校验。
    client 之间加上交换节点的功能,这样可用性会好很多。
    就得到了磁力链。
    关于   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   3112 人在线   最高记录 5168   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 12:36 · PVG 20:36 · LAX 05:36 · JFK 08:36
    ♥ Do have faith in what you're doing.