我在這裏看到了有關使用gperf的答案,但是,我更願意根據我爲strings
的域爲固定長度域創建的證明推出自己的答案<= 200
根據我從wolfram的計算,我得到~7.9 x 10^374
總排列。因此,我的思路是如果我有一個2048
位散列函數(3.2 x 10^616
)我應該能夠處理我需要處理的整個字符串。我的問題是,如何證明由於所有長度爲200或更小的字符串的限制,我最終生成的哈希實現將是完美的?通過固定長度輸入驗證完美散列函數
1
A
回答
3
長度爲200個字符的字符串只有200 * 8 = 1600位。如果2048位散列可以滿足您的需要,那麼您可以將字符串位用作完美散列。身份散列函數是完美的,因爲它將每個輸入映射到不同的散列值(顯然,因爲沒有映射)。
+0
我選擇了2048,因爲它是容納宇宙的高於1024的下一個值。這是否會產生意想不到的後果? – Woot4Moo
相關問題
- 1. 完美散列函數的定義
- 2. 驗證輸入長度
- 3. 完美的散列函數和福利
- 4. 插入固定長度的輸入
- 5. 完美的散列函數是否保證沒有碰撞?
- 6. 輸入驗證通過javascript
- 7. 給定了一個完美的散列函數,計算包含
- 8. int長度的用戶輸入驗證
- 9. 在python中爲url參數生成固定長度的散列
- 10. javascript函數輸入驗證
- 11. AngularJs驗證多個長度的輸入長度
- 12. Pentaho勺 - 驗證固定寬度輸入文件格式
- 13. 大整數整數的完美散列函數[1..2^64-1]
- 14. 固定長度BitArrays陣列
- 15. 使用列長度驗證
- 16. 表單輸入長度從下拉列表驗證
- 17. 固定長度
- 18. 我想找到一個散列函數生成散列與給定長度
- 19. 檢查完美迷宮的輸入驗證
- 20. jQuery驗證 - 將輸入限制爲3個特定長度
- 21. 通過驗證創建一個完美的表格
- 22. 將HTML輸入限制爲固定長度數字
- 23. 驗證散列密碼的長度(註冊)php
- 24. 保留最小完美散列函數的順序
- 25. 8乘8板的完美散列函數?
- 26. 驗證長度
- 27. 驗證JSON數組到特定長度
- 28. 固定長度的輸入形式的跨度大小
- 29. 的NodeJS散列字符串到整數數組固定長度2
- 30. Laravel驗證通過空白輸入
@interjay它有用的是更多的理論概念:)。所以你建議,如果我把每一個字符串,我把它轉換爲一個字節[]然後應用填充方案,我應該有一個沒有碰撞的解決方案?如果是這種情況,我該如何證明? – Woot4Moo