我想在服務器端應用程序中壓縮或壓縮來自MD5或SHA1的結果散列值,以便客戶端可以對其進行解壓縮或刪除它,這可能嗎?它是我的應用程序的可用性問題。如何減少散列值的長度?
2
A
回答
3
不,無法壓縮散列值。通過設計它們的位是高度隨機的並且具有最大的熵,所以沒有冗餘來壓縮。
如果你想哈希值更易於讀取,用戶可以使用不同的技巧,如:
顯示更少的數字。而不是32位數字只顯示16.
使用不同的基地。例如,如果使用基座62使用所有的大寫和小寫字母加數字0-9的數字,那麼你可以示出使用22個字母+數字表示與32位十六進制數字的128位散列:
日誌(2 )≈ 21.5
添加空格或標點符號。您通常會看到用AX7T4-BZ41O-JK3FF-QOZ96等短劃線打印的CD密鑰。用戶閱讀這個數字比20位數字全部卡在一起更容易。
1
哈希值非常短;試圖壓縮這些(非常隨機和高度變化的)值是困難和低效的。如果您想節省空間,截斷值可能會有所幫助,但請記住,如果您這樣做,則會增加碰撞空間(並減少關鍵空間)。
相關問題
- 1. 減少散列值
- 2. 如何「減少」散列?
- 3. 如何減少字符串的長度?
- 4. 減少行序列在該R長度
- 5. 減少數組長度
- 6. 減少woocommerce摘錄長度?
- 7. Nodejs減少jsonwebtoken長度
- 8. 減少在軌URL長度
- 9. 減少JavaScript函數長度
- 10. 錯誤減少VARCHAR長度
- 11. 如何減少很長的字符串的長度?
- 12. 如何減少Flex中HDividedBox分隔條長度的寬度?
- 13. 經紗洗牌,以減少任何長度的陣列
- 14. 減少我的SQL代碼的長度
- 15. 減少SHA1散列的部分衝突
- 16. 如何根據列的長度減少/過濾Spark DataFrame(Java)中的列?
- 17. 快速減少if語句的長度
- 18. 減少NANT + MSBUILD中的冗長度
- 19. 減少字符數組的長度
- 20. 表的數據長度沒有減少
- 21. 減少/ if語句的長度
- 22. 減少Liferay中URL的長度
- 23. 列值的字符串長度減少了一個當值有報價
- 24. 如何在給定長度的情況下減少數組的陣列數量並減少信息損失
- 25. 如何減少Recaptcha難度?
- 26. 彩虹表 - 散列減少 - Java
- 27. 加快散列,減少衝突?
- 28. 減少查詢字符串長度
- 29. 減少postgresql日誌冗長度
- 30. Peewee:減少其中一定長度
您如何通過該值? – Kobi 2010-11-07 05:39:22
你可以給出一個商業理由來做到這一點? – jcolebrand 2010-11-07 05:44:58
例如:你要發送你的一次性密碼,這是一個散列值的結果,這對用戶來說很難寫32個字節...... – 2010-11-07 07:54:13