Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/google-sheets/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Hash 如何减少散列值';长度是多少?_Hash - Fatal编程技术网

Hash 如何减少散列值';长度是多少?

Hash 如何减少散列值';长度是多少?,hash,Hash,我想在服务器端应用程序中压缩或压缩MD5或SHA1的结果哈希值,以便在客户端对其进行解压缩或反压缩,这可能吗?这是我的应用程序的可用性问题。哈希值非常短;尝试对这些(非常随机且高度变化的)值进行压缩既困难又低效。如果要节省空间,截断值可能会有所帮助,但请记住,如果这样做,会增加冲突空间(并减少密钥空间)。否,哈希值无法压缩。通过设计,它们的比特是高度随机的,并且具有最大熵,因此没有冗余可压缩 如果要让用户更容易读取哈希值,可以使用不同的技巧,例如: 显示更少的数字。只显示16位,而不是32位

我想在服务器端应用程序中压缩或压缩MD5或SHA1的结果哈希值,以便在客户端对其进行解压缩或反压缩,这可能吗?这是我的应用程序的可用性问题。

哈希值非常短;尝试对这些(非常随机且高度变化的)值进行压缩既困难又低效。如果要节省空间,截断值可能会有所帮助,但请记住,如果这样做,会增加冲突空间(并减少密钥空间)。

否,哈希值无法压缩。通过设计,它们的比特是高度随机的,并且具有最大熵,因此没有冗余可压缩

如果要让用户更容易读取哈希值,可以使用不同的技巧,例如:

  • 显示更少的数字。只显示16位,而不是32位

  • 使用不同的基数。例如,如果使用所有大小写字母加数字0-9作为数字的基数62,则可以使用22个字母+数字与32个十六进制数字显示128位哈希:

    log62(2128)和大约;21.5

  • 添加空格或标点符号。您通常会看到CD键打印有虚线,如AX7T4-BZ41O-JK3FF-QOZ96。对于用户来说,阅读这篇文章比20个数字挤在一起更容易


例如:您要发送一次性密码,这是散列值的结果,用户很难写入32个字节。。。