Board logo

標題: 因為固定長度,所以checksum呢件事保證會有重覆(白鴿籠原則) [打印本頁]

作者: Wiwacomia    時間: 2024-3-27 15:09     標題: 因為固定長度,所以checksum呢件事保證會有重覆(白鴿籠原則)

但對於某一特定chekcum
譬如   ba1f2511fc30423bdbb183fe33f3dd0f
有冇保證會有重覆呢?
(好似唔關programming事)
作者: xader    時間: 2024-3-27 19:01

但對於某一特定chekcum
譬如   ba1f2511fc30423bdbb183fe33f3dd0f
有冇保證會有重覆呢?
(好似唔關program ...
Wiwacomia 發表於 2024-3-27 15:09


你講緊咩? 你都識講 pigeonhole principle, 每個 checksum 都可以 derived from many inputs
作者: Wiwacomia    時間: 2024-3-27 19:20

你講緊咩? 你都識講 pigeonhole principle, 每個 checksum 都可以 derived from many inputs ...
xader 發表於 2024-3-27 19:01


32位=只有固定個獨立數值,多咗input=有啲output會重覆,
唔代表必然有多個input可以生成特定ba1f....呢個output呀。
可以無限個input生成有限個32位數字,其中每個output出現頻率不同呀

以上係單憑白鴿籠原則諗出來,
實際條數點生成冇睇
作者: xader    時間: 2024-3-27 20:52

32位=只有固定個獨立數值,多咗input=有啲output會重覆,
唔代表必然有多個input可以生成特定ba1f.... ...
Wiwacomia 發表於 2024-3-27 19:20



    Uniformity
A good hash function should map the expected inputs as evenly as possible over its output range. That is, every hash value in the output range should be generated with roughly the same probability. The reason for this last requirement is that the cost of hashing-based methods goes up sharply as the number of collisions—pairs of inputs that are mapped to the same hash value—increases. If some hash values are more likely to occur than others, a larger fraction of the lookup operations will have to search through a larger set of colliding table entries.

你講緊 Hash function uniformity
作者: Wiwacomia    時間: 2024-3-27 21:18

本帖最後由 Wiwacomia 於 2024-3-27 21:55 編輯
Uniformity
A good hash function should map the expected inputs as evenly as possible over its ...
xader 發表於 2024-3-27 20:52



    係啦,咁一般用到的方法都應該係好的啦,咁佢地有冇保證#1所講嘅嘢?
因為如果只有一個值特別係unique,其餘平均,都非常之平均
作者: 淚v3v    時間: 2024-3-29 22:41

係,一定會有重覆checksum 但唔同input
作者: Wiwacomia    時間: 2024-3-30 00:30

係,一定會有重覆checksum 但唔同input
淚v3v 發表於 2024-3-29 22:41



    都話唔係講白鴿籠咯
無限個波0,1,2,3...號放入三個籃ABC,
單數放A,雙數放B,兩者都不就放C。
「對於某一特定chekcum」C,係unique。
作者: java2    時間: 2024-3-30 11:54

白鴿籠愈少愈容易重覆

但對於某一特定chekcum
譬如   ba1f2511fc30423bdbb183fe33f3dd0f
有冇保證會有重覆呢?
(好似唔關program ...
Wiwacomia 發表於 2024-3-27 15:09

作者: 淚v3v    時間: 2024-3-30 16:24

都話唔係講白鴿籠咯
無限個波0,1,2,3...號放入三個籃ABC,
單數放A,雙數放B,兩者都不就放C。
「對 ...
Wiwacomia 發表於 2024-3-30 00:30


其實唔係好明你up 乜
checksum 定 chekcum?
你不如組織下先
作者: Wiwacomia    時間: 2024-3-30 17:00

其實唔係好明你up 乜
checksum 定 chekcum?
你不如組織下先
淚v3v 發表於 2024-3-30 16:24


#7 例子,C係unique。
而家一般用到的checksum,有冇保證冇C出現
咁樣明唔明?
作者: 7h1r733n    時間: 2024-4-2 15:34

#7 例子,C係unique。
而家一般用到的checksum,有冇保證冇C出現
咁樣明唔明? ...
Wiwacomia 發表於 2024-3-30 17:00


有限collision.. 無限input當然會重覆..
作者: Wiwacomia    時間: 2024-4-2 15:38

本帖最後由 Wiwacomia 於 2024-4-2 15:52 編輯
有限collision.. 無限input當然會重覆..
7h1r733n 發表於 2024-4-2 15:34


你呢句係咪人地講你聽返來就當識咗?

    #7 例子,可以無限input,C都係unique。
作者: 7h1r733n    時間: 2024-4-2 15:53

你呢句係咪人地講你聽返來就當識咗?

    #7 例子,無限input,C係unique。 ...
Wiwacomia 發表於 2024-4-2 15:38

你#7個例子算checksum咩? 不如你諗吓乜野係checksum先啦..
作者: Wiwacomia    時間: 2024-4-2 16:16

你#7個例子算checksum咩?  不如你諗吓乜野係checksum先啦..
7h1r733n 發表於 2024-4-2 15:53



    佢唔係好的checksum,佢係checksum。

F( MD5(input) ) where

F(x) {
    if x ==    'ba1f2511fc30423bdbb183fe33f3dd0f'
        return 'aa1f2511fc30423bdbb183fe33f3dd0f'
    else return x
}

F係checksum,F有重覆,F永不出現 'ba1f....'。
作者: 7h1r733n    時間: 2024-4-2 16:19

佢唔係好的checksum,佢係checksum。

F( MD5(input) ) where

F(x) {
    if x ==    'ba1f2511fc3 ...
Wiwacomia 發表於 2024-4-2 16:16

咁你夾硬去改個result令到個Output唔出.. 咁可以點? 你呢個design已經有違checksum嘅本意...
講返你個ABC... 我要提一提你0其實係偶數..
作者: Wiwacomia    時間: 2024-4-2 16:30

咁你夾硬去改個result令到個Output唔出.. 咁可以點?  你呢個design已經有違checksum嘅本意...
講返 ...
7h1r733n 發表於 2024-4-2 16:19



    零係偶數:噢你啱,但例子修改一下仍然可用。

checksum本意有話任何一個都可重覆嗎?
而現在通行的checksum有保證此事嗎?

checksum本意,據我理解:
同一input,必然同一checksum
同一checksum,很大可能(但必然<100%)同一input
由input去找checksum容易
由checksum去找input困難
collision少啲較好
作者: jetdone    時間: 2024-6-15 01:15

CHECKSUM原意係要防止人做手腳, 但是要做手腳之後又要唔俾人知, 仲要個CHECKSUM係一樣, 除非太陽係西邊升起.





歡迎光臨 電腦領域 HKEPC Hardware (https://h1.hkepc.com/forum/) Powered by Discuz! 7.2