2^256=? 哈希 hash(256)算法,为什么能确定世界上任何不同数据 hash 值是唯一的? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
yylbfyl
V2EX    问与答

2^256=? 哈希 hash(256)算法,为什么能确定世界上任何不同数据 hash 值是唯一的?

  •  
  •   yylbfyl 2018-01-31 15:13:31 +08:00 8572 次点击
    这是一个创建于 2863 天前的主题,其中的信息可能已经有所发展或是发生改变。

    1.1579208923731619542357098500869 ×10 的 77 次方就能代表目前世界上所有数据的可能性了吗? 有没有通过 hash 值反推算出原数据的?这样的话,岂不是可以节省很多硬盘存储空间?

    42 条回复    2018-02-01 22:13:04 +08:00
    zjuturtle
        1
    zjuturtle  
       2018-01-31 15:19:36 +08:00   1
    小伙子你还是得学习一个啊
    suikator
        2
    suikator  
       2018-01-31 15:22:12 +08:00 via Android
    先问是不是 再问为什么
    ray8888
        3
    ray8888  
       2018-01-31 15:25:24 +08:00
    是可能,但是概率很小很小
    gclove
        4
    gclove  
       2018-01-31 15:34:02 +08:00   2
    世界需要你这种脑洞大的人。

    由 hash 值反推算出原数据, 这项艰巨的任务就交给你了。

    只要有了这项算法, 人类征服全宇宙, 时空穿梭 将不再是梦想
    jieee
        5
    jieee  
       2018-01-31 15:35:43 +08:00
    会有 hash 冲突
    ytterbium
        6
    ytterbium  
       2018-01-31 15:36:22 +08:00 via Android
    可是 hash 不是数据压缩方法
    tscat
        7
    tscat  
       2018-01-31 15:36:45 +08:00
    你去查一下宇宙中有多少原子。。。
    WuwuGin
        8
    WuwuGin  
       2018-01-31 15:37:44 +08:00 via Android
    hash 一串字符,那么要多少个超过多长的字符才能用完楼主所说的这么多个?所谓唯一性就是这个意思,密码有正常人会超过 100 位?其余的什么彩虹表之类的东西建议你还是要学习一个。
    tscat
        9
    tscat  
       2018-01-31 15:38:00 +08:00   3
    然后节省硬盘空间。。
    香农哭晕在厕所
    Technetiumer
        10
    Technetiumer  
       2018-01-31 15:38:59 +08:00
    多可能有同一 hash
    推算出原是可能的,但是概率很低,非常算源
    ghiei9101
        11
    ghiei9101  
       2018-01-31 15:40:07 +08:00
    hash 是摘要算法 理论上是会碰撞的,只是几率比较小。
    evagreenworking
        12
    evagreenworking  
       2018-01-31 15:47:10 +08:00   1
    命运石之门 3.24TB ---> 32Byte 但人家都没有脑洞过用 hash
    0ZXYDDu796nVCFxq
        13
    0ZXYDDu796nVCFxq  
       2018-01-31 16:00:51 +08:00   1
    苍老师全集:3da44bd0b9bc25c110bcf41b7d8f14541327140d41352a701c80d2a1df79486c

    嗯,以后可以用这串 SHA256 hash 值反推出视频
    jadec0der
        14
    jdec0der  
       2018-01-31 16:05:45 +08:00
    hash 是不可逆的
    hash 不是唯一的,有碰撞的可能,例如: https://www.mscs.dal.ca/~selinger/md5collision/
    zhujinliang
        15
    zhujinliang  
       2018-01-31 16:07:56 +08:00
    如果要存下 2^256 个哈希结果,需要约 10 的 56 次方 ZB
    2016 年 Q3 希捷硬盘出货量 3890 万块,假设 1 块硬盘 10TB,1 年大约是 1.56ZB
    可以产生的所有的哈希值,远大于与人类的存储能力,可以认为代表了所有的可能性(前提算法足够优秀)

    到有一天相差不大了,再造个 512 位的哈希就可以再用一阵了
    gclove
        16
    gclove  
       2018-01-31 16:08:42 +08:00
    我觉得要是有了 能存储世界上所有记录的这种技术,即 可以反推出任意 SHA256 的多种解的算法。

    假设整个银河系的质量都由 氢原子构成
    那么,整个银河系有 2.5 * 10 ^ 65 个氢原子。

    也就是说,你这个数量级大到, 完全可以存储下 ( 4600 亿个银河系) 的全部原子数量信息。

    什么 时光倒流,器官再造,长生不老,断臂再生,变种人,超能力,吃书学习,隔空传物。 说是相当落后的技术,一点都不为过。

    因为我们可以把整个太阳系的信息都记录起来, 在计算机里虚拟好几个太阳系运行,使人的生命无限延长。 还能随意切指定时间的多个副本。
    并且可以改善人类的性能, 比如 脑力, 运动能力(肌肉永不疲惫,消耗乳酸 up up up),耐久能力(连续奔跑几天几夜),体型, 视力(4 原色), 嗅觉,听力(听的见超声波和次声波)。 耐寒,耐热,耐毒气。
    brightguo
        17
    brightguo  
       2018-01-31 16:13:07 +08:00
    10 的 77 次方需要都少磁盘空间呢?
    1TB=8x10^9,约等于 10 的 10 次方
    那么 10 的 77 次方大概是 10 的 67 次方个 TB,那得多少个 TB 呢,我是数不过来呢~~
    grimpil
        18
    grimpil  
       2018-01-31 16:23:33 +08:00 via Android
    通过某个人呼出的气体里的某一个氧原子,反推出这个人是谁,反推出这个人的全部 dna,也不是完全没可能,对吧
    pq
        19
    pq  
       2018-01-31 16:33:18 +08:00   2
    如果可以由 hash 反推出原内容,那就堪比“宇宙大爆炸”学说了。。。。
    neighbads
        20
    neighbads  
       2018-01-31 16:48:26 +08:00
    sha1 google 不是前段时间就碰撞出来了。。。。

    https://shattered.it/

    只是对应的 hash 值一样,反推原文是不可能的。
    honeycomb
        21
    honeycomb  
       2018-01-31 17:15:22 +08:00   1
    SHA256 从未保证过
    “世界上任何不同数据经过 sha256 运算后,结果都是唯一的”
    abusizhishen
        22
    abusizhishen  
       2018-01-31 17:21:59 +08:00 via Android
    哈希结果不是唯一的,有冲突
    imdong
        23
    imdong  
       2018-01-31 17:33:01 +08:00
    你从 1 数到 2^256+1,产生的所有数字的 hash 必然有两个是相同的。
    Building
        24
    Building  
       2018-01-31 17:34:12 +08:00 via iPhone
    @gclove 好几个老外跟我说他们写程序就是喜欢当造物主。you can be in control of your own world.
    Microi
        25
    Microi  
       2018-01-31 19:06:07 +08:00 via iPhone
    没人说是唯一的啊。
    Jackiepie
        26
    Jackiepie  
       2018-01-31 20:02:49 +08:00
    不是唯一的,只是以现有的计算力,全世界加起来都要算到地球毁灭,所以暂时认为无法找到相同的值而已。
    limhiaoing
        27
    limhiaoing  
       2018-01-31 20:13:07 +08:00 via iPhone
    hash 不是压缩算法,另外也不存在任何一种压缩算法能够压缩随机生成的无规律的数据。
    h3lica
        28
    h3lica  
       2018-01-31 20:21:52 +08:00 via iPhone
    信息论还需要再学习一个。
    lightening
        29
    lightening  
       2018-01-31 20:22:21 +08:00
    哈希值当然不是唯一的,一个哈希值对应无限多个可能的原始数据。
    Bryan0Z
        30
    Bryan0Z  
       2018-01-31 22:37:24 +08:00 via Android
    @gstqc 骗子,根本推不出来视频
    imn1
        31
    imn1  
       2018-01-31 23:03:03 +08:00
    你们这些人啊,把 LZ 都吓跑了
    laxenade
        32
    laxenade  
       2018-02-01 00:20:21 +08:00 via Android
    建议楼主学一下加密学
    msg7086
        33
    msg7086  
       2018-02-01 00:27:55 +08:00
    还有信息论
    Cu635
        34
    Cu635  
       2018-02-01 00:39:49 +08:00
    哈希在理论上并不唯一,有哈希碰撞,只不过在实践中,已知一段哈希找出这个哈希的原始数据,和已知一段原始数据找出相同哈希的另一段数据都不好找。
    md5 因为找到了有意义的算法来解决已知数据找到相同哈希的另一段数据这个问题,所以说这标志着 md5 被攻破了已经无法在提供安全性了。紧接着就是 sha-1 被攻破。
    而 sha2 系列的哈希在定义和实际应用的时候会先检验一下原始数据的长度,原始数据长度要求小于等于( 2^64-1 )或者( 2^128-1 )比特,这样保证原始数据和算出来的哈希值一一对应。
    WinG
        35
    WinG  
       2018-02-01 00:40:20 +08:00
    骚年,直接去破解比特币吧。
    3IOhG7M0knRu5UlC
        36
    3IOhG7M0knRu5UlC  
       2018-02-01 00:55:58 +08:00 via Android
    @gclove 是候做一了
    mozutaba
        37
    mozutaba  
       2018-02-01 01:10:47 +08:00
    打赌你看不懂刘慈欣的《诗云》
    VYSE
        38
    VYSE  
       2018-02-01 01:22:38 +08:00
    HASH 读懂字面英语就明白了,想象下你有一个披萨,一块块连续的,然后你把它剁的碎散的七零八落,HASH 解决了碎后很难找回它原来在哪,并且原来连续的要散的很开的实际问题.
    SHA1->SHA256 只是你剁的更碎而已.
    bzq2810
        39
    bzq2810  
       2018-02-01 08:21:39 +08:00 via iPhone
    心疼楼主
    YingJie
        40
    YingJie  
       2018-02-01 08:50:57 +08:00 via Android
    其实楼主只是表示好奇和疑问,还是别喷的好~
    killerv
        41
    killerv  
       2018-02-01 11:19:49 +08:00
    不唯一,有碰撞的可能,但是无法反推。
    chuckzhou
        42
    chuckzhou  
       2018-02-01 22:13:04 +08:00
    小学就应该学过鸽笼原理。。。
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     3183 人在线   最高记录 6679   span class="snow">     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 32ms UTC 11:25 PVG 19:25 LAX 03:25 JFK 06:25
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86