我想在服务器端应用程序中压缩或压缩来自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