首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SHAKE128 XOF的门外汉理解

SHAKE128 XOF的门外汉理解
EN

Cryptography用户
提问于 2020-04-01 04:14:26
回答 1查看 355关注 0票数 1

需要帮助。我不擅长散列,只是刚开始用PHP编程,目前需要散列一些字符串,但要求它是唯一的。发现OpenSSL可以使用SHAKE128进行散列,但不需要选择输出的长度。注意,默认情况下,每个带有openssl_digest哈希输出的shake128函数都是256个字符,我是否可以只使用前20个字符,因为我只注意到最后几个字符随每次长度的变化而被追加?shake128散列"hello“示例:

5字节- 8eb4b6a932

6字节- 8eb4b6a932f2

7字节- 8eb4b6a932f280

8字节- 8eb4b6a932f28033

16字节- 8eb4b6a932f280335ee1a279f8c208a3

感谢你的洞察力。谢谢。

EN

回答 1

Cryptography用户

发布于 2020-04-01 15:41:46

是的,您可以这样做,只要您承诺不使用哈希用于任何其他目的,如果较短的哈希将泄漏将受到损害。然而,如果您需要少于128位,那么您最好使用SHA-3并截断它;这取决于SHAKE128是否优于SHA-3-256;毕竟它们都依赖于相同的基础海绵功能。

请注意,SHAKE128或SHA-3-256都不输出任何字符.它们生成二进制位,或者--对于大多数实现来说--字节。您正在显示的十六进制字符只是这些字节的表示。

票数 1
EN
页面原文内容由Cryptography提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://crypto.stackexchange.com/questions/79591

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档